requestForegroundPermission

Starts a foreground permission request and returns immediately. The result is published to status.

The launcher registers on the activity's result registry at request time, so a directly constructed requester works when context can reach a ComponentActivity. With a context that cannot, such as a service context, this call does nothing and status stays accurate.

Android's rationale check returns false both before the first request and after a permanent denial. This requester tells the two apart by recording a denial that arrives while the check stays false. The record lives only in memory and clears once permission is granted or the check returns true, so the first request in a fresh process may silently return a denial before status reports canRequest = false again.