码迷,mamicode.com
首页 > 移动开发 > 详细

Android 悬浮窗权限校验

时间:2018-10-26 14:28:48      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:uri   android   app   ref   ssi   css   iss   can   use   

原文:Android 悬浮窗权限校验

悬浮窗权限:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

权限检验和请求:


            //检查是否已经授予权限,大于6.0的系统适用,小于6.0系统默认打开,无需理会

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M&&!Settings.canDrawOverlays(this)) {
                //没有权限,需要申请权限,因为是打开一个授权页面,所以拿不到返回状态的,所以建议是在onResume方法中从新执行一次校验
                Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
                intent.setData(Uri.parse("package:" + getPackageName()));
                startActivityForResult(intent, 100);
            }else{
                //已经有权限,可以直接显示悬浮窗
            }
        

其他注意问题:

        //因为部分type在部分系统中已经废弃,懒得看文档,下面是我亲测是兼容7.0和8.0系统的方法

        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
            wmParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
        } else {
            wmParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
        }

?

Android 悬浮窗权限校验

标签:uri   android   app   ref   ssi   css   iss   can   use   

原文地址:https://www.cnblogs.com/lonelyxmas/p/9855722.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!