【问题标题】:android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.USAGE_ACCESS_SETTINGS }android.content.ActivityNotFoundException:未找到处理 Intent { act=android.settings.USAGE_ACCESS_SETTINGS } 的活动
【发布时间】:2015-03-08 13:55:50
【问题描述】:

此问题仅在 Android 5.0 Lollipop 上发生。我无法使用带有 Lollipop 的手机,我已经在 Genymotion Android Emulator 中开发了代码,但这个问题在模拟器中不会发生。我只收到来自用户手机的失败堆栈跟踪。

我的代码:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
    startActivity(intent);
} 

应用程序崩溃以及我从用户那里获得的堆栈跟踪:

android.content.ActivityNotFoundException: No Activity found to handle Intent {     act=android.settings.USAGE_ACCESS_SETTINGS }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1765)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1485)
at android.app.Activity.startActivityForResult(Activity.java:3780)
at android.app.Activity.startActivityForResult(Activity.java:3741)
at android.support.v4.app.FragmentActivity.startActivityFromFragment(FragmentActivity.java:849)
at android.support.v4.app.Fragment.startActivity(Fragment.java:880)
at     com.myapp.myfirstapp.fragments.addablock.apps.Fragment_appsselect_addblock$2.onClick(Fragment_ appsselect_addblock.java:147)
at android.view.View.performClick(View.java:4763)
at android.view.View$PerformClick.run(View.java:19821)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5274)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

【问题讨论】:

  • 检查this同时检查this
  • 感谢@NoorNawaz - 但似乎我以同样的方式开始活动......找不到问题。
  • 这意味着您尝试开始的活动不在您期望的那个包中。
  • 测试并确认这是运行 Android 5.0 G900IZTU1BOA1 固件的三星 Galaxy S5 SM-G900I 的问题。用户可以访问使用访问设置屏幕,但不能通过Settings.ACTION_USAGE_ACCESS_SETTINGS 意图访问。 Intent componentNameIntent = new Intent(); componentNameIntent.setComponent(new ComponentName("com.android.settings", "com.android.settings.Settings$UsageAccessSettingsActivity")); 也不起作用。

标签: android android-intent android-5.0-lollipop start-activity


【解决方案1】:

我也看到了这个崩溃。看来 LG 已经从他们的 Lollipop 版本中删除了新引入的使用权限设置屏幕。

【讨论】:

  • 是的,没错。我在 MotoX 上试过,效果很好。 LG 是否有任何其他方式授予应用程序使用权限的访问权限?我没有带 Lollipop 的 LG 手机来尝试自己。 (这将是正确的答案,我会这样标记它)
  • 确实,它适用于 Nexus 10,而不适用于 LG G3。设置子菜单“具有使用权限的应用程序”也不见了。
  • 即使有一个屏幕,也可以通过棒棒糖在 S5 上使用它。似乎他们已经删除了所有设置快捷方式,因为不再有设置快捷方式小部件。
  • 有人知道 LG G3 是否使用旧版本的 'getRecentTask()' 现在不能在 android lollipop 上运行吗?
  • 我真的很想知道G3做了什么,有没有人能评论一下G3?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-06
  • 1970-01-01
  • 2022-11-04
  • 2016-02-01
相关资源
最近更新 更多