就是在自己的应用中,监听系统新安装程序或者卸载程序,用到BroadcastReceiver
首先在manifest中加入权限- <uses-permission android:name="android.permission.RESTART_PACKAGES"/>
- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
复制代码 注册一个Receiver- <receiver
- android:name=".activity.HomeActivity$PackageReceiver"
- android:label="@string/app_name" >
- <intent-filter>
- <action android:name="android.intent.action.PACKAGE_ADDED" />
- <action android:name="android.intent.action.PACKAGE_REMOVED" />
- <data android:scheme="package" />
- </intent-filter>
- </receiver>
复制代码 这里提一下,PackageReceiver继承BroadcastReceiver,并且在HomeActivity中,属于public和static的内部类
在HomeAcitivity中,PackageReceiver如下:- public static class PackageReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- if (!TextUtils.isEmpty(action)) {
- // Install app
- if (action.equals("android.intent.action.PACKAGE_ADDED")) {
- Log.d("Test", "安装程序");
- // Uninstall app
- } else if (action.equals("android.intent.action.PACKAGE_REMOVED")) {
- Log.d("Test", "卸载程序");
- }
- }
- }
|
|
|