Android(二十)常用的广播

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android(二十)常用的广播相关的知识,希望对你有一定的参考价值。

1、检测开机的广播

技术分享
public class BootReceive extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        String sim = SpTools.getString(context, MyConstants.SIM, "");
        TelephonyManager manger = (TelephonyManager) context
                .getSystemService(Context.TELEPHONY_SERVICE);
        String number = manger.getSimSerialNumber();
        if (!sim.equals(number)) {
            SmsManager sm = SmsManager.getDefault();
            String safeNumber = SpTools.getString(context,MyConstants.SAFENUMBER, "");
            /*
             * 1)、destinationAddress——消息的目标地址
             * 2)、scAddress——服务中心的地址or为空使用当前默认的SMSC 3)destinationPort——消息的目标端口号
             * 4)、data——消息的主体,即消息要发送的数据
             * 5)、sentIntent——如果不为空,当消息成功发送或失败这个PendingIntent就广播
             * 。结果代码是Activity.RESULT_OK表示成功
             * ,或RESULT_ERROR_GENERIC_FAILURE、RESULT_ERROR_RADIO_OFF
             * 、RESULT_ERROR_NULL_PDU之一表示错误
             * 。对应RESULT_ERROR_GENERIC_FAILURE,sentIntent可能包括额外的
             * “错误代码”包含一个无线电广播技术特定的值,通常只在修复故障时有用。
             * 每一个基于SMS的应用程序控制检测sentIntent。如果sentIntent是空
             * ,调用者将检测所有未知的应用程序,这将导致在检测的时候发送较小数量的SMS。
             * 6)、deliveryIntent——如果不为空,当消息成功传送到接收者这个PendingIntent就广播。
             * 异常:如果destinationAddress或data是空时,抛出IllegalArgumentException异常。
             */
            sm.sendTextMessage(safeNumber, "", "手机丢了", null, null);
        }
    }

}
BootReceive

配置文件:

技术分享
<receiver android:name="com.itheima62.mobileguard.receiver.BootReceive">
            <intent-filter >
               <action android:name="android.intent.action.BOOT_COMPLETED"/> 
            </intent-filter>
        </receiver>
配置文件

添加权限:

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

上述广播耗时较多所以在服务中开启

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————2、scard的是否挂在。

第一步写一个 广播接收者:

 技术分享

 

   第二步:

到 清单文件中进行 配置 

 技术分享

 

第三步:

添加相应 的权限

 技术分享

 

那么最终在电话外拨的时候如果发现是拨打的长途电话...

 技术分享

 

 3、应用被安装/被卸载:

 

<receiver android:name="com.itheima.appstatus.AppStatus">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>

以上是关于Android(二十)常用的广播的主要内容,如果未能解决你的问题,请参考以下文章

Android开发常用代码片段

Android常用系统广播

Android常用系统广播

Android - 在动态注册的广播接收器上出现“无法传递广播”错误

Android常用动作广播类别消息类型

从广播接收器更改片段