私のアプリはAndroidバージョン27までで正常に動作していました。しかし、この例外はAndroid 9.0 Pie、API 28。
これがトレースです。
Java.lang.RuntimeException: Unable to create service com.example.demo: Java.lang.SecurityException: Permission Denial: startForeground from pid=21535, uid=10088 requires Android.permission.FOREGROUND_SERVICE
at Android.app.ActivityThread.handleCreateService(ActivityThread.Java:3544)
at Android.app.ActivityThread.access$1300(ActivityThread.Java:199)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1666)
at Android.os.Handler.dispatchMessage(Handler.Java:106)
at Android.os.Looper.loop(Looper.Java:193)
at Android.app.ActivityThread.main(ActivityThread.Java:6669)
at Java.lang.reflect.Method.invoke(Native Method)
at com.Android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.Java:493)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:858)
ドキュメント から
この許可をAndroidManifest.xml
ファイルに追加する必要があり、許可チェックを処理する必要はありません。常に付与されます。
<uses-permission Android:name="Android.permission.FOREGROUND_SERVICE" />