监听应用的安装、卸载、更新
原理:应用在安装卸载更新时,系统会发送广播,广播里会携带应用的包名 * 清单文件定义广播接收者接收的类型,因为要监听应用的三个动作,所以需要接收三种广播
<receiver android:name="com.exp.app.AppReceiver"> <intent-filter > <action android:name=
"android.intent.action.PACKAGE_ADDED
"/> <action android:name=
"android.intent.action.PACKAGE_REPLACED
"/> <action android:name=
"android.intent.action.PACKAGE_REMOVED
"/> <data android:scheme="package"/> </intent-filter> </receiver>
-
广播接收者的定义
public void onReceive(Context context, Intent intent) { //区分接收到的是哪种广播 String action = intent.getAction(); //获取广播中包含的应用包名 Uri uri = intent.getData(); if(action.equals(
"android.intent.action.PACKAGE_ADDED
")){ System.out.println(uri + "被安装了"); } else if(action.equals(
"android.intent.action.PACKAGE_REPLACED"
)){ System.out.println(uri + "被更新了"); } else if(action.equals
("android.intent.action.PACKAGE_REMOVED"
)){ System.out.println(uri + "被卸载了"); } }