有谁知道 MIUI 11 中的“后台启动”权限在哪里?

Mut*_*han 8 android android-permissions miui

我无法在 MIUI 11 redmi note 6 pro mobile 中开始活动,出现以下错误:

com.android.server.am.ExtraActivityManagerService: MIUILOG- 权限被拒绝活动

我找到了一些解决方案,例如打开“后台启动”权限。我在 MIUI 11 上找不到这样的东西。从字面上看,我不知道这个问题。提前致谢。

lin*_*col 14

当应用程序停止时,我在从 BroadcastReceiver 启动活动时遇到了类似的问题。

1)您可以在设置中找到您的应用并允许“在后台启动”权限。
2)如果您需要以编程方式允许权限,请尝试打开应用程序设置

小米

此代码将打开应用程序权限设置,您应该允许“在后台启动”

Intent intent = new Intent("miui.intent.action.APP_PERM_EDITOR");
intent.setClassName("com.miui.securitycenter",
"com.miui.permcenter.permissions.PermissionsEditorActivity");
intent.putExtra("extra_pkgname", getPackageName());
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)


没有系统包装器的设备

此代码将打开应用程序设置,您应该在其中打开权限并允许“在后台启动”权限

Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

阅读有关 android 设置意图的更多信息: 如何以编程方式在应用程序设置中打开应用程序权限窗口

您还可以检查 github 中的代码以使用不同系统包装器(如 flyme、miui、oppo 等)中的权限:https : //github.com/zhaozepeng/FloatWindowPermission

希望这对你有帮助!

如果您有解决此问题的其他选择,我将不胜感激在评论中回复。. .

  • 解决办法很好。有没有办法以编程方式授予该权限?我已经看到 Facebook 做到了。因为当我安装应用程序时,默认情况下会获得 Facebook 应用程序的权限。 (2认同)
  • @BhavinChauhan 有什么方法可以知道是否已获得许可? (2认同)
  • 因为如果用户已经授予权限,我们不应该请求权限 (2认同)