How do yall go about figuring out which broadcasts are system broadcasts (=> receiver not exported), vs broadcasts from high privileged apps but not system, e.g. battery change (receiver exported)?

Asking because Google Play Store is requiring targeting API 34 and.this dumb new rule of having to specify exported vs not exported for broadcasts seems tricky if you don't know which broadcasts should be exported.

#AndroidDev

Broadcasts overview  |  Background work  |  Android Developers

Android Developers
@py Also are you sure system broadcasts do not require an exported receiver? That same page suggest the receiver needs to be exported for system broadcasts too.

@botteaap @py System broadcasts don't require an exported receiver. Consistent with our experience (for `BOOT_COMPLETED`). The documentation says:

> Whether the broadcast receiver can receive messages from non-system sources outside its application. It's "true" if it can, and "false" if not. If "false", the only messages the broadcast receiver receives are those sent by the system, components of the same application, or applications with the same user ID.

https://developer.android.com/guide/topics/manifest/receiver-element#exported

<receiver>  |  Android Developers

Declares a broadcast receiver (a BroadcastReceiver subclass) as one of the application's components. Broadcast receivers enable applications to receive intents that are broadcast by the system or by other applications, even when other components of…

Android Developers
@afzal @py ah TIL. The example docs on that broadcast page are wron^H^H I misread the examples on the page, they do say that system broadcasts can have exported=false