有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JAVAlang.SecurityException:权限拒绝:启动意图{act=安卓.settings.USAGE_ACCESS_settings}

我懂java。lang.SecurityException当试图以final Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);意图startActivityForResult(intent, requestCode);时。有趣的是,这种崩溃只发生在Android 5.1-5.1.1的华为上 我没有华为设备。你能给我一些建议吗

Stacktrace

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

共 (2) 个答案

  1. # 1 楼答案

    根据android开发者文档

    In some cases, a matching Activity may not exist, so ensure you safeguard against this.

    链接:ACTION_USAGE_ACCESS_SETTINGS

  2. # 2 楼答案

    无论出于何种原因,华为为这项活动保留了<intent-filter>,但他们将其标记为未出口。你不可能开始这项活动。你所能做的就是捕捉异常并向用户解释你无法在那里导航