我在真实设备上从 android 10 - android Q - MIUI 11 的后台启动活动时遇到问题。在此线程中:在 android 10 中启动活动背景我找到了如何在 Android 10 上执行此操作的信息,以及在模拟器上一切正常的信息。
我在使用 Android 10 (MIUI 11) 的小米米 9T Pro 上对此进行了测试,似乎这不起作用。
在 logcat 我有以下日志:
-W/ActivityTaskManager: Background activity start for com.com.app allowed because SYSTEM_ALERT_WINDOW permission is granted.
-D/ActivityTaskManagerServiceInjector: MIUILOG- Permission Denied Activity : Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.android.chrome cmp=com.android.chrome/com.google.android.apps.chrome.Main } pkg : com.com.app uid : 10283 tuid : 10052
Run Code Online (Sandbox Code Playgroud)
为什么这不适用于小米设备?
编辑:
我找到了解决方案。在 MIUI 中,应该打开额外的权限。它被称为:在后台运行时显示弹出窗口。这是使用此权限显示窗口的代码:
首先,我正在检查用户是否在手机上安装了 MIUI:
public static boolean isMiUi() {
return !TextUtils.isEmpty(getSystemProperty("ro.miui.ui.version.name"));
} …Run Code Online (Sandbox Code Playgroud)