编程语言
首页 > 编程语言> > java.lang.SecurityException:Permission Denial:启动Intent {act = android.settings.USAGE_ACCESS_SETTINGS

java.lang.SecurityException:Permission Denial:启动Intent {act = android.settings.USAGE_ACCESS_SETTINGS

作者:互联网

尝试startActivityForResult(intent,requestCode)时,我得到java.lang.SecurityException; with final Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);意图.有趣的是,这次崩溃只发生在华为的Android 5.1 – 5.1.1上
我没有华为设备.你能告诉我它的建议吗?

堆栈跟踪

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>适用于此活动,但他们将其标记为未导出.您无法启动该活动.您所能做的就是捕获异常并向用户解释您无法在那里导航.

标签:android,java,securityexception,android-securityexception
来源: https://codeday.me/bug/20191003/1847270.html