本篇文章主要介绍如何监听 APP 的安装、卸载和更新的广播。

博主博客

Android 8.0 以前静态注册

在 AndroidManifest.xml 中加入静态注册即可。

<receiver
	android:name=".InstallReceiver"
	android:exported="true">
		<intent-filter>
			<action android:name="android.intent.action.PACKAGE_ADDED" />
			<action android:name="android.intent.action.PACKAGE_REMOVED" />
			<action android:name="android.intent.action.PACKAGE_CHANGED" />
			<data android:scheme="package" />
		</intent-filter>
</receiver>

Android 8.0 及以后需要动态注册

InstallReceiver installReceiver = new InstallReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addDataScheme("package");
intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
intentFilter.addAction(Intent.ACTION_PACKAGE_CHANGED);
registerReceiver(this.installReceiver, intentFilter);

Android 12.0 及以后需要增加权限

<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />