8

当应用程序处于后台并且屏幕被锁定时,我无法启动活动,没有异常或警告,只是没有调用 onCreate()。我一直在努力解决这个问题,我想我终于找到了它的根源。日志中有一行:

D/com.android.server.am.ExtraActivityManagerService: MIUILOG- Permission Denied Activity KeyguardLocked: Intent { flg=0x14010000 cmp=com.trueconf.videochat/com.trueconf.gui.activities.Call (has extras) } pkg : com.trueconf.videochat uid : 10634

这就是我无法开始活动的原因吗?另外,我该如何解决这个问题,我应该禁用键盘保护还是什么?

4

1 回答 1

12

这是 MIUI 上的一项特殊权限,必须为应用程序启用。

你可以在

  1. 设置
  2. 管理应用程序
  3. 你的应用程序
  4. 其他权限
  5. 在锁定屏幕上显示

用户必须手动启用此功能。据我所知,您能做的最好的事情是通过启动意图(并且可能在此之前显示一些解释器文本)直接将用户引导到此设置菜单。

意图看起来像这样

startActivity(new Intent("miui.intent.action.APP_PERM_EDITOR").putExtra("extra_pkgname", getPackageName()))

确保尝试捕获它,因为如果无法启动活动,它可能会引发异常(例如,设备实际上没有运行 MIUI,或者意图在特定设备/版本上以某种方式无效)

于 2019-06-13T09:45:16.463 回答