很多时候,我们都需要监听应用的卸载和安装并做相应的事件,比如:应用卸载后,删除安装包、清除垃圾、弹出网页;应用安装后,刷新某些事件,等等,都是非常有用的。
监听的步骤很简单,如下:
1、 新建监听类:BootReceiver继承BroadcastReceiver
public class AppReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 接收安装广播
if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {
//前8位是多余的,直接截掉
String packageName = intent.getDataString().substring(8);
Log.i("main", "安装了:" + packageName + "包名的程序");
}
// 接收卸载广播
if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {
String packageName = intent.getDataString().substring(8);
Log.i("main", "卸载了:" + packageName + "包名的程序");
}
}
2、 修改AndroidManifest.xml配置文件,添加广播介绍,添加监听的权限
<!-- 软件安装、卸载 -->
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<!-- 注册广播 -->
<receiver android:name="com.show.luanch.receiver.AppReceiver" >
<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>