标签:
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); } } }
配置文件:
<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>
标签:
原文地址:http://www.cnblogs.com/wswbk/p/5291076.html