欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

6.0后,全局悬浮窗或者弹窗不显示的解决办法

程序员文章站 2022-05-25 21:39:27
...

在开发项目过程中,接到这样一个需求,当有推送传到app上时,需要弹出一个类似通知栏的悬浮窗来通知用户相关。开发功能进行的很顺利,而且在我用我4.0的测试机测试是功能正常的。
但是当我使用6.0以上的手机进行测试的时候,发现无论如何,都没有得到相应的结果,最后度娘了好久终于找到算是合理的解释。
国内查,所有的新闻统一都说是谷歌有意禁止该功能(默认关闭),且说不会妥协去修改,仅此而已,未找到相关的开发者解决方案。
国外查,尼玛人家说这个android6.0的bug,在6.0.1之后会修复。。。。

先不管原因 解决方法就是去动态申请某个权限

if (!Settings.canDrawOverlays(this)) { 
//请求权限 
            Toast.makeText(TestFloatWinActivity.this, "当前无权限,请授权!", Toast.LENGTH_SHORT).show();  
            Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,  
                    Uri.parse("package:" + getPackageName()));  
            startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE);  
        } else {  
            //做你的操作  
        }