本文介绍了java.lang.SecurityException:权限拒绝:启动Intent {act = android.settings.USAGE_ACCESS_SETTINGS}的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试 startActivityForResult(intent,requestCode)时,我得到java.lang.SecurityException; 最终Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS) ); 意图。有趣的是这次崩溃只发生在华为的Android 5.1 - 5.1.1
我没有华为设备。你能不能给我建议它是什么。

I get java.lang.SecurityException when try to startActivityForResult(intent, requestCode); with final Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS); intent. Interesting that this crash happens only on Huawei with Android 5.1 - 5.1.1I haven't Huawei device. Could you please give me advice what it can be.

Stacktrace

Stacktrace

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)


推荐答案

无论出于何种原因,华为都离开了< intent-filter> 适用于此活动,但他们将其标记为未导出。您无法启动该活动。您所能做的就是捕获异常并向用户解释您无法在那里导航。

For whatever reason, Huawei left the <intent-filter> in place for this activity, but they marked it as not exported. There is no way that you can start the activity. All you can do is catch the exception and explain to the user that you cannot navigate there.

这篇关于java.lang.SecurityException:权限拒绝:启动Intent {act = android.settings.USAGE_ACCESS_SETTINGS}的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 01:47
查看更多