亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的應用程序在 android 9 版本中不斷崩潰并拋出

我的應用程序在 android 9 版本中不斷崩潰并拋出

拉莫斯之舞 2022-11-02 10:44:54
我最近開發了一個使用 URL 在線播放廣播的 Android 應用程序。它在我在模擬器中測試的 6,7 和 8 的其他 android 版本中運行良好。但上周我發布了該應用程序以播放商店,我的報告顯示它在 android 9 手機中崩潰。它繼續拋出 java.lang.SecurityException。我已經嘗試了我能解決的錯誤,但我失敗了。用戶不斷報告手機上的多個應用程序崩潰這是來自播放控制臺的堆棧跟蹤java.lang.RuntimeException:   at android.app.ActivityThread.handleServiceArgs (ActivityThread.java:3903)  at android.app.ActivityThread.access$1700 (ActivityThread.java:236)  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1815)  at android.os.Handler.dispatchMessage (Handler.java:106)  at android.os.Looper.loop (Looper.java:214)  at android.app.ActivityThread.main (ActivityThread.java:7032)  at java.lang.reflect.Method.invoke (Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:965)Caused by: java.lang.SecurityException:   at android.os.Parcel.createException (Parcel.java:1966)  at android.os.Parcel.readException (Parcel.java:1934)  at android.os.Parcel.readException (Parcel.java:1884)  at android.app.IActivityManager$Stub$Proxy.setServiceForeground (IActivityManager.java:5043)  at android.app.Service.startForeground (Service.java:695)  at com.premar.radiomunabuddu.RadioMediaPlayerService.play (RadioMediaPlayerService.java:120)  at com.premar.radiomunabuddu.RadioMediaPlayerService.onStartCommand (RadioMediaPlayerService.java:50)  at android.app.ActivityThread.handleServiceArgs (ActivityThread.java:3884)Caused by: android.os.RemoteException: 
查看完整描述

2 回答

?
四季花海

TA貢獻1811條經驗 獲得超5個贊

Android 9 引入了新FOREGROUND_SERVICE權限。從文檔

注意:面向 Android 9(API 級別 28)或更高版本并使用前臺服務的應用必須請求 FOREGROUND_SERVICE 權限。這是一個正常的權限,因此系統會自動將其授予請求的應用程序。

如果針對 API 級別 28 或更高級別的應用嘗試創建前臺服務而不請求 FOREGROUND_SERVICE,則系統會引發 SecurityException。

只需將該權限添加到您的清單中,您就可以開始使用了。


查看完整回答
反對 回復 2022-11-02
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

setServiceForegroundInnerLocked 方法會根據 targetSdkVersion 級別進行檢查。缺少 FOREGROUND_SERVICE 權限


代碼:


if (r.appInfo.targetSdkVersion >= Build.VERSION_CODES.P) {

                mAm.enforcePermission(

                        android.Manifest.permission.FOREGROUND_SERVICE,

                        r.app.pid, r.appInfo.uid, "startForeground");

            }


查看完整回答
反對 回復 2022-11-02
  • 2 回答
  • 0 關注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號