MIUI 判断悬浮窗权限

/**
* Created by chenzy on 2015/3/31.
*
* MIUI 悬浮窗判断工具类
*/
public class AlterWindowUtil {
    public static final String TAG ="AlterWindowUtil";

    /**
     * 4.4 以上可以直接判断准确
     *
     * 4.4 以下非MIUI直接返回true
     *
     * 4.4 以下MIUI 可 判断 上一次打开app 时 是否开启了悬浮窗权限
     *
     * @param context
     * @return
     */
    @TargetApi(Build.VERSION_CODES.KITKAT)
    public static boolean isFloatWindowOpAllowed(Context context) {
        final int version = Build.VERSION.SDK_INT;

        if(!DeviceUtil.isFlyme4() && !DeviceUtil.isMiui(context)){
            return true;
        }

        if (version >= 19) {
            return checkOp(context, 24);  //自己写就是24 为什么是24?看AppOpsManager //AppOpsManager.OP_SYSTEM_ALERT_WINDOW
        } else {
            if(DeviceUtil.isMiui(context)){
                if ((context.getApplicationInfo().flags & 1 << 27) == 1 <<27 ) {
                    return true;
                } else {
                    return false;
                }
            }else{
                return true;
            }
        }

    }

    @TargetApi(Build.VERSION_CODES.KITKAT)
    public static boolean checkOp(Context context, int op) {
        final int version = Build.VERSION.SDK_INT;

        if (version >= 19) {
            AppOpsManager manager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
            try {
                Class managerClass = manager.getClass();
                Method method = managerClass.getDeclaredMethod("checkOp", int.class, int.class, String.class);
                int isAllowNum = (Integer) method.invoke(manager, op, Binder.getCallingUid(), context.getPackageName());

                if (AppOpsManager.MODE_ALLOWED == isAllowNum) {
                    return true;
                } else {
                    return false;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return false;
    }

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小米电纸书悬浮球apk是一款为小米电纸书设计的应用程序。电纸书悬浮球是指在小米电纸书屏幕中出现的一个浮动球,用户可以通过点击该浮动球来访问快捷功能和应用。 小米电纸书悬浮球apk提供了许多实用的功能。首先,用户可以通过悬浮球快速调整亮度,调节屏幕的亮度,以适应不同环境下的阅读需求。其次,用户还可以通过悬浮球来切换不同的阅读模式,如日间模式和夜间模式,以提供更舒适和符合个人习惯的阅读体验。 此外,小米电纸书悬浮球apk还具有一键进入目录的功能,用户只需点击悬浮球上的相应按钮,就可以迅速跳转到书籍目录页,方便用户查找和定位不同章节的内容。悬浮球还能通过一键截图功能,将当前屏幕内容以图片形式保存,方便用户保存和分享感兴趣的信息。 小米电纸书悬浮球还提供了书签管理功能,用户可以通过点击悬浮球上的书签按钮,快速添加和管理书签,方便用户标记重要内容,随时返回阅读进度。此外,悬浮球还可以通过一键搜索功能,帮助用户方便快捷地进行相关信息的搜索。 总之,小米电纸书悬浮球apk为小米电纸书用户提供了一系列实用的功能和工具,方便用户进行阅读和书籍管理,提升阅读体验。通过点击悬浮球上的按钮,用户可以轻松地调整屏幕亮度、切换阅读模式、快速进入目录、管理书签和进行搜索等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值