Of the choices given, which one identifies the android:exported default value for a Service that has NO intent-filter in its manifest declaration, targeting Android 12?
- A.undefined - the developer must always set exported explicitly and the build fails without it
- B.true - all Services are exported by default and the platform relies on that behavior to let system services bind to a newly installed package without extra manifest work
- C.false - a Service without an intent-filter defaults to exported=false and is only accessible to components within the same app
- D.false only when the Service declares an isolated process and otherwise the default flips to true
Why C is correct
For components without intent-filters, Android's default has always been exported=false. The Android 12 change only made the attribute required (non-optional) for components that DO have intent-filters, because those components previously defaulted to exported=true implicitly. A Service with no intent-filter still defaults to exported=false and can be omitted in the manifest without a build error on API 31 targets.
Know someone studying for Mobile Security Fundamentals? Send them this one.