MIUI 权限被拒绝 Activity KeyguardLocked

11

当应用程序在后台运行且屏幕被锁定时,我无法启动活动。没有异常或警告,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

这就是我无法启动活动的原因吗?另外,我该如何解决这个问题,我应该禁用 keyguard 吗?

1个回答

17

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

您可以在以下位置找到:

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

用户必须手动启用此功能。据我所知,您能做的最好的事情就是通过启动一个意图(并可能显示一些说明文本)直接引导用户进入此设置菜单。

意图看起来像这样

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

请确保使用try catch语句进行捕获,因为如果活动无法启动(例如设备实际上未运行MIUI或特定设备/版本上的意图无效),它可能会引发异常。


4
谢谢,但是我该如何检查是否启用了这个权限? - Danil.B
1
据我所知,不幸的是你不能这样做。 - drk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接