Foreground Service Restrictions on Android 14+
On Android 14 and Android 16, any app initiating a background service with startForeground() must declare at least one specific Foreground Service Type in its AndroidManifest.xml.
Failing to declare this results in submission rejection on Google Play Console or immediate SecurityException crashes on modern devices.
Common Foreground Service Types
location: For continuous GPS tracking (navigation, delivery).dataSync: For background data sync or large uploads.mediaPlayback: For audio and podcast streaming.phoneCallorconnectedDevice: For VoIP and Bluetooth hardware bridges.
Compliant Manifest Declaration
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
<application>
<service
android:name="com.kerweb.plugin.LocationService"
android:foregroundServiceType="location"
android:exported="false" />
</application>
</manifest>
During Play Console submission, submit a video demonstration proving the background feature is essential and visible to the user via a persistent notification.