2017-04-10 151 views
0

當嘗試使用startActivityForResult(intent, requestCode);final Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);意圖時,我得到java.lang.SecurityException。有趣的是,這個崩潰只發生在Android 5.1 - 5.1.1 我沒有華爲設備。你能不能給我一些建議呢?java.lang.SecurityException:權限拒絕:啓動意圖{act = android.settings.USAGE_ACCESS_SETTINGS}

堆棧跟蹤

Fatal Exception: java.lang.SecurityException: Permission Denial: starting Intent { act=android.settings.USAGE_ACCESS_SETTINGS cmp=com.android.settings/.Settings$UsageAccessSettingsActivity } from ProcessRecord{11b5f1a1 19764:com.myproject.my/u0a167} (pid=19764, uid=10167) not exported from uid 1000 
     at android.os.Parcel.readException(Parcel.java:1546) 
     at android.os.Parcel.readException(Parcel.java:1499) 
     at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:2448) 
     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1496) 
     at android.app.Activity.startActivityForResult(Activity.java:3794) 
     at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:48) 
     at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:77) 
     at android.app.Activity.startActivityForResult(Activity.java:3755) 
     at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859) 
     at com.myproject.my.utils.PermissionsHelper$2.onClick(PermissionsHelper.java:134) 
     at android.support.v7.app.AlertController$ButtonHandler.handleMessage(AlertController.java:157) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5298) 
     at java.lang.reflect.Method.invoke(Method.java) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:911) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:706) 
+0

請編輯您的問題,並張貼整個Java堆棧跟蹤。 – CommonsWare

+0

@CommonsWare我添加了堆棧跟蹤,謝謝。 – LeShChEnKoUa

回答

2

無論出於何種原因,華爲離開了<intent-filter>到位這項活動,但是他們將其標記爲不出口。你無法開始這項活動。你所能做的就是捕捉異常並向用戶解釋你不能在那裏導航。

+0

非常感謝你的解釋! – LeShChEnKoUa

0

據Android開發者文檔。

在某些情況下,匹配活動可能不存在,因此請確保您的防護措施不受此影響。

鏈接:ACTION_USAGE_ACCESS_SETTINGS

+0

是的,謝謝,我知道它並檢查活動是否存在 – LeShChEnKoUa

相關問題