Receive App Install/Uninstall Broadcasts in MAUI Android

Learn to receive app install and uninstall broadcasts in .NET MAUI for Android 8.0+ by dynamically registering a BroadcastReceiver. Includes code.

  • 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 the MainActivity 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);
    
Built with Hugo
Theme Stack designed by Jimmy