Permission Denial: startForeground requires android.permission.FOREGROUND_SERVICE

て烟熏妆下的殇ゞ 提交于 2019-11-27 10:49:27

This is what you get for not reading the release notes properly. This started happening when setting targetSdkVersion = 28 (Android 9 / Pie) and is clearly stated in e.g. the migration notes:

Apps wanting to use foreground services must now request the FOREGROUND_SERVICE permission first. This is a normal permission, so the system automatically grants it to the requesting app. Starting a foreground service without the permission throws a SecurityException.

So the solution is to just add the following in AndroidManifest.xml:

<manifest ...>
     ...
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
     ...
     <application ...>
     ...
</manifest>

Permission Denial: startForeground requires android.permission.FOREGROUND_SERVICE

Apps that target Android 9 (API level 28) or higher and use foreground services must request the FOREGROUND_SERVICE permission.

So now we need to add Foreground service permission in manifest file

  • it Allows a regular application to use Service.startForeground

SAMPLE

<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

FOREGROUND_SERVICE is a normal permission, so the system automatically grants it to the requesting app.

Check this the migration notes of Android 9 / Pie

  • Change

Foreground service permission

  • Summary

Apps wanting to use foreground services must now request the FOREGROUND_SERVICE permission first. This is a normal permission, so the system automatically grants it to the requesting app. Starting a foreground service without the permission throws a SecurityException.

Also Read startForeground()

  • Apps targeting API Build.VERSION_CODES.P or later must request the permission Manifest.permission.FOREGROUND_SERVICE in order to use this API.
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!