Android6.0 创建TYPE_SYSTEM_ALERT级别的弹出框方法
2017-05-18 16:42
330 查看
突然发现在android6之前的版本都是可以弹出系统级别的dialog, 但是到了6.0就不行了, 搜索发现官方文档有下面说明:
Allows an app to create windows using the type
shown on top of all other apps. Very few apps should use this permission; these windows are intended for system-level interaction with the user.
Note: If the app targets API level 23 or higher, the app user must explicitly grant this permission to the app through a permission management screen. The app requests the user's approval by sending an intent with action
The app can check whether it has this authorization by calling
Protection level: signature
Constant Value: "android.permission.SYSTEM_ALERT_WINDOW"
首先检查下有没有权限绘出系统的级别的对话框, 有可以直接画出, 没有的话需要发个intent让用户授权, 具体实现代码如下:
转自:http://www.enjoydiy.com/3554.html
Allows an app to create windows using the type
TYPE_SYSTEM_ALERT,
shown on top of all other apps. Very few apps should use this permission; these windows are intended for system-level interaction with the user.
Note: If the app targets API level 23 or higher, the app user must explicitly grant this permission to the app through a permission management screen. The app requests the user's approval by sending an intent with action
ACTION_MANAGE_OVERLAY_PERMISSION.
The app can check whether it has this authorization by calling
Settings.canDrawOverlays().
Protection level: signature
Constant Value: "android.permission.SYSTEM_ALERT_WINDOW"
首先检查下有没有权限绘出系统的级别的对话框, 有可以直接画出, 没有的话需要发个intent让用户授权, 具体实现代码如下:
if (Build.VERSION.SDK_INT >= 23) { if(!Settings.canDrawOverlays(this)) { Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION); intent.setData(Uri.parse("package:" + getPackageName())); startActivity(intent); return; } else { //绘ui代码, 这里说明6.0系统已经有权限了 } } else { //绘ui代码,这里android6.0以下的系统直接绘出即可 }
转自:http://www.enjoydiy.com/3554.html
相关文章推荐
- Android6.0 创建TYPE_SYSTEM_ALERT级别的弹出框方法
- Android6.0 创建TYPE_SYSTEM_ALERT级别的弹出框方法
- Android: Service中创建窗口显示(TYPE_SYSTEM_ALERT, TYPE_SYSTEM_OVERLAY)
- Android: Service中创建窗口显示(TYPE_SYSTEM_ALERT, TYPE_SYSTEM_OVERLAY)
- Android6.0 申请SYSTEM_ALERT_WINDOW权限 没有弹出权限框
- Android 在Service中弹出窗口及SYSTEM_ALERT_WINDOW权限解决方法
- Asp.Net alert弹出提示信息的若干种方法
- 点击用户帐户时,弹出”automation 服务器不能创建对象“的解决方法
- ASP.NET 使用alert弹出对话框后,CSS样式失效,字体变大的解决方法
- asp.net ajax 无法弹出alert对话框的解决方法
- Asp.Net alert弹出提示信息的若干种方法
- ASP.NET 使用alert弹出对话框后,CSS样式失效,字体变大的解决方法
- Asp.Net alert弹出提示信息的若干种方法
- ASP.NET 使用alert弹出对话框后,CSS样式失效,字体变大的解决方法
- c# System.Type.GetType()方法
- 反射中用Type.GetType 方法 (String) 动态创建类的注意事项
- [转]updatepanel中使用alert弹出框方法
- ASP.NET 使用alert弹出对话框后,CSS样式失效,字体变大的解决方法
- asp.net ajax 无法弹出alert对话框的解决方法
- 再谈Activator.CreateInstance(Type type)方法创建对象和Expression Tree创建对象性能的比较(更新版)