MIUI 权限被拒绝 Activity KeyguardLocked

MIUI Permission Denied Activity KeyguardLocked

当应用程序处于后台且屏幕被锁定时,我无法启动activity,没有异常或警告,只是没有调用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

这就是我无法启动 activity 的原因吗?还有,我该如何解决这个问题,我应该禁用键盘锁还是什么?

这是MIUI的特殊权限,必须为应用开启。

您可以在

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

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

意图看起来像这样

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

确保尝试捕获它,因为如果 activity 无法启动它会抛出异常(例如,设备实际上不是 运行 MIUI 或意图在某种程度上无效device/version)