开机广播
可在此广播中做开机自启动服务
- public class BootBroadcasrReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- Log.i("CDH", "开机广播");
- }
- }
- <receiver android:name=".BootBroadcasrReceiver" >
- <intent-filter>
- <!-- 接受系统开机广播 -->
- <action android:name="android.intent.action.BOOT_COMPLETED"/>
- <category android:name="android.intent.category.HOME"/>
- </intent-filter>
- </receiver>
需要添加权限
- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
应用增加广播
- /**
- * 1.安装其他应用时会收到广播,但安装本应用时不会收到广播
- * 2.重新安装其他应用时会收到广播,但重新安装本应用时不会收到广播
- */
- public class PackageAddedBroadcastReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- Log.i("CDH", "应用增加广播");
- Log.i("CDH", "包名:"+intent.getDataString());
- Log.i("CDH", "用户ID:"+intent.getIntExtra(Intent.EXTRA_UID, 0));
- Log.i("CDH", "重新安装应用?:"+intent.getBooleanExtra(Intent.EXTRA_REPLACING, false));
- }
- }
- <receiver android:name=".PackageAddedBroadcastReceiver">
- <intent-filter>
- <action android:name="android.intent.action.PACKAGE_ADDED"/>
- <data android:scheme="package"/>
- </intent-filter>
- </receiver>
应用卸载广播
- /**
- * 1.重新安装本应用时会收到广播
- * 2.重新安装其他应用时会收到广播
- * 3.其他应用被卸载时会收到广播,但本应用被卸载时不会收到广播
- */
- public class PackageRemovedBroadcastReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- Log.i("CDH", "应用卸载广播");
- Log.i("CDH", "包名:"+intent.getDataString());
- Log.i("CDH", "用户ID:"+intent.getIntExtra(Intent.EXTRA_UID, 0));
- Log.i("CDH", "整个应用被卸载?:"+intent.getBooleanExtra(Intent.EXTRA_DATA_REMOVED, false));
- Log.i("CDH", "重新安装应用?:"+intent.getBooleanExtra(Intent.EXTRA_REPLACING, false));
- }
- }
- <receiver android:name=".PackageRemovedBroadcastReceiver">
- <intent-filter>
- <action android:name="android.intent.action.PACKAGE_REMOVED"/>
- <data android:scheme="package"/>
- </intent-filter>
- </receiver>
- <uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"/>
应用重新安装广播
1.本应用重新安装
收到卸载广播 --> 重新安装广播
- /**
- * 1.重新安装本应用时会收到广播
- * 2.重新安装其他应用时会收到广播
- */
- public class PackageReplacedBroadcastReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- Log.i("CDH", "应用替换广播");
- Log.i("CDH", "包名:"+intent.getDataString());
- Log.i("CDH", "用户ID:"+intent.getIntExtra(Intent.EXTRA_UID, 0));
- Log.i("CDH", "重新安装应用?:"+intent.getBooleanExtra(Intent.EXTRA_REPLACING, false));
- }
- }
- <receiver android:name=".PackageReplacedBroadcastReceiver">
- <intent-filter>
- <action android:name="android.intent.action.PACKAGE_REPLACED"/>
- <data android:scheme="package"/>
- </intent-filter>
- </receiver>
2.其他应用重新安装
收到卸载广播 --> 应用增加广播 --> 重新安装广播