5.2 KiB
Google Play location and foreground-service declaration
This file is the source copy for Play Console. It describes the exact current Android behavior; it is not evidence that Google Play has approved the feature. Reconcile every answer with the AAB selected for release.
Manifest and permission facts
- Package:
org.whoneedhelp.mobile - Target SDK:
37 - Foreground service type:
location - Foreground-service permissions:
FOREGROUND_SERVICEandFOREGROUND_SERVICE_LOCATION - Runtime location permissions:
ACCESS_COARSE_LOCATIONandACCESS_FINE_LOCATION - The app does not request
ACCESS_BACKGROUND_LOCATION. - The app also declares
USE_LOCATION_BUTTONfor the separate one-time foreground action that places a request or activity point. It must not useonlyForLocationButton, because the distinct live-location flow also needs precise location after the user starts the foreground service.
Foreground-service declaration copy
Use case: User-initiated location sharing.
Feature using the service:
During an active mutual-aid assignment, an accepted requester or helper can explicitly start live location sharing with the matched participant. Who Need Help starts a location foreground service only after the user opens the active assignment, taps Share live location, reads the prominent disclosure, and grants Android location permission. A persistent notification remains visible for the full session and includes a Stop sharing action.
Why the task must start immediately:
The participant starts sharing to coordinate an active, time-sensitive handoff. Deferring the first update would show the matched participant stale or missing position information at the moment the user deliberately requested sharing.
Impact if Android interrupts the task:
New location updates stop. The app does not silently restart sharing. The user must return to the active assignment and start it again. The matched participant no longer receives a current position.
How it ends:
- The user taps Stop sharing in the app or in the persistent notification.
- Cancelling, withdrawing from, completing, or otherwise leaving the active assignment stops the native service through the server-driven terminal state.
- The service also stops on an authorization or missing-assignment response.
- Stopping removes the current raw location from the server. Limited derived safety evidence can remain as stated in the Privacy Policy.
- Sharing is never started from boot, a background receiver, a push notification, or an unattended scheduled task.
Play Console answers
Use these only when the current Console wording matches the stated fact:
- Foreground service type: Location
- Closest preset use case: Background Location Updates — User-initiated location sharing
- Core user benefit: safe coordination between the two people already matched for an active help request
- Persistent notification: shown after the explicit in-app start and prominent disclosure, with a user-visible Stop action
- Background-location runtime permission declared: No
- Location foreground service declared: Yes
Google Play requires a foreground-service declaration for apps targeting Android 14 or newer. Do not describe this feature as passive, continuous, always-on, emergency, medical, or hidden tracking.
Video evidence script
Record one short, unlisted video from the exact Play candidate. Keep the phone screen readable and show the complete trigger path without cuts that hide a permission or disclosure screen.
- Start on an active synthetic request in which the signed-in reviewer is an accepted requester or helper.
- Scroll to live-location controls and tap Share live location.
- Pause on the prominent disclosure long enough to read what is collected, who receives it, minimized-app use, deletion, and the Stop action.
- Tap Continue and share and grant the Android location permission.
- Show the persistent Sharing live location system notification.
- Press Home so the app is minimized; show that the notification remains visible and that the matched browser receives a current synthetic position.
- Tap Stop sharing in the notification.
- Return to the request and show that sharing is stopped and the live marker is no longer available.
Do not use a real home address, real medical information, chat text, email, handover code, access token, or another person's location in the recording.
Pre-submission evidence
- Run
./scripts/android-play-policy-check.sh. - Run the signed release build and retain its manifest/package/signing reports.
- Repeat start, Home/minimize, notification, Stop, and raw-position deletion on a Play-delivered internal-test install after Play App Signing is available.
- Confirm the Privacy Policy, Data Safety form, store listing, disclosure, and Play Console declaration all describe the same behavior.
Official references checked on 2026-08-03: