-
Android8.0之前版本(未测试)
直接创建广播接收类即可。1 2 3 4 5 6 7 8 9[BroadcastReceiver(Enabled = true, Exported = true)] [IntentFilter([Intent.ActionPackageAdded, Intent.ActionPackageReplaced, Intent.ActionPackageRemoved], DataScheme = "package")] public class APKBroadcastReceiver : BroadcastReceiver { public override void OnReceive(Context? context, Intent? intent) { Toast.MakeText(context, "APK安装...", ToastLength.Long)?.Show(); } } -
Android8.0以后版本
Android8.0之后很多静态广播不能用了,想要接收应用安装、覆盖安装和删除的广播,需要动态注册广播。
创建广播接收类。1 2 3 4 5 6 7public class APKBroadcastReceiver : BroadcastReceiver { public override void OnReceive(Context? context, Intent? intent) { Toast.MakeText(context, "APK安装...", ToastLength.Long)?.Show(); } }在类
MainActivity的重写OnCreate方法中添加如下代码。1 2 3 4 5 6 7 8IntentFilter intentFilter = new IntentFilter(); intentFilter.AddAction(Intent.ActionPackageAdded); intentFilter.AddAction(Intent.ActionPackageRemoved); intentFilter.AddAction(Intent.ActionPackageReplaced); intentFilter.AddAction(Intent.ActionPackageInstall); intentFilter.AddDataScheme("package"); APKBroadcastReceiver apkBroadcastReceiver = new APKBroadcastReceiver(); RegisterReceiver(apkBroadcastReceiver, intentFilter);