Android6.0以上悬浮窗崩掉的问题
2017-01-04 22:39
381 查看
开发项目时,遇到了Android6.0以上悬浮窗崩掉的问题(permission denied for this window type)。
需要了解:在谷歌往Android中加入悬浮窗口功能时就表示希望开发者只用其来做用户通知,不过聪明的手机厂商可不这么认为,于是本来被用于通知的悬浮窗被改成了其他的功能。而此次的Android 6.0中,系统加入了全新的应用授权机制,同时Google还默认禁用了“浮动窗口”权限,所以未来悬浮窗功能只能当作通知使用。
据悉,谷歌认为被修改的悬浮窗功能潜在一定的安全隐患,所以在Android 6.0中默认将其关闭了。
所以,好坑!解决方法:需要显示悬浮窗前要加入判断,代码如下
需要了解:在谷歌往Android中加入悬浮窗口功能时就表示希望开发者只用其来做用户通知,不过聪明的手机厂商可不这么认为,于是本来被用于通知的悬浮窗被改成了其他的功能。而此次的Android 6.0中,系统加入了全新的应用授权机制,同时Google还默认禁用了“浮动窗口”权限,所以未来悬浮窗功能只能当作通知使用。
据悉,谷歌认为被修改的悬浮窗功能潜在一定的安全隐患,所以在Android 6.0中默认将其关闭了。
所以,好坑!解决方法:需要显示悬浮窗前要加入判断,代码如下
private void permissionFloatingView(){ if (Build.VERSION.SDK_INT >= 23) { // Android6.0以上 if(!Settings.canDrawOverlays(this)) { // 禁止悬浮 //手动开启 Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION); startActivity(intent); return; } else { // 允许悬浮 // TODO 显示悬浮窗 } } else { // Android6.0以下,不用动态声明权限 // TODO 显示悬浮窗 } }
相关文章推荐
- android6.0以上动态申请权限问题。
- 关于Android6.0(23以上)版本权限管理的问题
- 记Android6.0以上手机无法搜索到蓝牙设备的问题
- 解决android6.0以上不能读取外部存储权限的问题
- Android6.0极其以上系统获取Dangerous系统权限问题及其解决方案
- 关于Android6.0以上系统的权限问题
- android6.0悬浮窗权限问题(eg:魅族)
- 【Android】Android6.0及以上不能读取外部存储问题
- android6.0及以上,写入数据到手机内存请求储存权限问题
- Android6.0以上系统搜索不到 蓝牙BLE 设备问题
- 解决Android6.0以上ScrollView嵌套RecyclerView出现的RecyclerView高度不正常的问题
- 关于Android6.0以上调用intent隐式意图拨打电话问题
- Android6.0以上绘制系统级悬浮窗异常 permission denied for window type 2002
- 关于android6.0以上不能读取sd卡信息问题
- Android6.0以上文件读写问题
- android6.0以上授权申请拒绝引起的崩溃(魅族mx6,魅蓝note6)和Android6.0以下oppo系列手机拒绝权限引起的崩溃问题的终极解决方案
- 关于Android6.0以上动态获取运行时权限、及无法正常运行百度地图API的问题
- 解决ActiveAndroid在Android6.0及以上的设备上,表创建失败的问题
- webview在compileSdkVersion 大于等于23 android6.0以上系统执行js代码异常,但是在compileSdkVersion小于23 android6.0以下系统却执行正常问题
- Android6.0以上权限获取权限的问题