You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Android Java代码实现应用在MIUI悬浮窗运行?现有代码失效

MIUI悬浮窗权限申请代码修复方案

你的代码问题在于未指定正确的MIUI权限页面Action/组件名,MIUI不同版本的安全中心权限页面对应的Intent配置差异很大,直接跳转包名无法定位到正确页面。以下是适配多版本MIUI的可行方案:

方案1:多版本适配的权限跳转代码

替换原代码为以下逻辑,覆盖不同MIUI版本的权限页面路径:

private void requestMiuiOverlayPermission() {
    Intent intent = new Intent();
    String packageName = getPackageName();
    try {
        // 适配MIUI 8及以上主流版本
        intent.setAction("miui.intent.action.APP_PERM_EDITOR");
        intent.putExtra("extra_pkgname", packageName);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
    } catch (ActivityNotFoundException e1) {
        try {
            // 适配早期MIUI版本
            intent.setAction("android.intent.action.MAIN");
            intent.setClassName("com.miui.securitycenter", "com.miui.permcenter.permissions.PermissionsEditorActivity");
            intent.putExtra("extra_pkgname", packageName);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
        } catch (ActivityNotFoundException e2) {
            // 兜底跳转系统应用详情页
            intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
            intent.setData(Uri.fromParts("package", packageName, null));
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
            SketchwareUtil.showMessage(getApplicationContext(), "请手动开启「显示悬浮窗」权限");
        }
    }
}

方案2:先校验权限状态再跳转

在申请权限前先检查是否已拥有悬浮窗权限,避免无效跳转:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    if (!Settings.canDrawOverlays(this)) {
        requestMiuiOverlayPermission(); // 调用上面的跳转方法
    } else {
        // 权限已获取,执行你的悬浮窗创建逻辑
        startFloatingWindow();
    }
} else {
    // Android 6.0以下无需动态申请,直接启动悬浮窗
    startFloatingWindow();
}

关键注意事项

  • MIUI的悬浮窗权限属于特殊权限,无法通过普通权限请求弹窗获取,必须跳转至系统设置页手动开启
  • 部分MIUI 14+版本的权限路径可能再次变更,测试时需覆盖主流MIUI版本
  • 若兜底方案仍无法跳转,可引导用户手动进入「设置-应用设置-权限管理-特殊权限-显示悬浮窗」开启

内容的提问来源于stack exchange,提问作者حسين العيدروس

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 22:03:18