web-dev-qa-db-fra.com

java.lang.SecurityException: refus d'autorisation: startForeground Android 9.0 API Pie 28

Mon application fonctionnait bien dans Android version jusqu'à 27. Mais j'ai trouvé cette exception dans Android 9.0 Pie, API 28.

Telle est la trace.

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)
7
user6274128

De Docs

Vous devez ajouter cette autorisation dans votre AndroidManifest.xml fichier et vous n'avez à gérer aucune vérification d'autorisation. Il sera toujours accordé.

<uses-permission Android:name="Android.permission.FOREGROUND_SERVICE" />
18
user6274128