-
Android 8.0 and earlier (untested)
Simply create a broadcast receiver class.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 installing...", ToastLength.Long)?.Show(); } }
-
Android 8.0 and later
Many static broadcasts are no longer available after Android 8.0. To receive broadcasts for app installation, replacement, or removal, dynamic registration is required.
Create a broadcast receiver class.1 2 3 4 5 6 7
public class APKBroadcastReceiver : BroadcastReceiver { public override void OnReceive(Context? context, Intent? intent) { Toast.MakeText(context, "APK installing...", ToastLength.Long)?.Show(); } }
Add the following code in the overridden
OnCreate
method of theMainActivity
class.1 2 3 4 5 6 7 8
IntentFilter 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);