Xamarin.Android Exported activity without intent filter accessible to other apps
0 reputation · 15 Oct 2020, 01:51 UTC
Goal
Confirm whether a Xamarin.Android activity declared with [Activity(Exported = true)] and no intent filter remains accessible to any installed app after manifest merger on Android 12 (API 31) or higher.
Constraint
Android 12 requires an explicit android:exported declaration for components with intent filters, and library manifest merger can override the source attribute. Xamarin is out of support, so newer platform security requirements may not appear in older templates. It is also unclear whether Xamarin.Forms Shell or Xamarin.Essentials file and web features implicitly mark components as exported across versions.
Questions
- Does
Exported = truewithout an intent filter make the activity startable by other apps after manifest merger? - Does Xamarin.Forms Shell or Xamarin.Essentials implicitly set
android:exportedon any component? - Which effective
android:exportedvalue governs when the attribute and merged manifest disagree?