您的位置:首页 > 移动开发 > Android开发

Andrid6.0申请SYSTEM_ALERT_WINDOW和WRITE_SETTINGS权限

2017-03-05 21:39 351 查看
SYSTEM_ALERT_WINDOW

首先确认app是否拥有该权限,然后再弹出UI申请权限:

public static int OVERLAY_PERMISSION_REQ_CODE = 1234;

public void someMethod() {
if (!Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE);
}
}


然后在onActivityResult中检查权限

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == OVERLAY_PERMISSION_REQ_CODE) {
if (!Settings.canDrawOverlays(this)) {
// SYSTEM_ALERT_WINDOW permission not granted...
}
}
}


WRITE_SETTINGS

判断是否拥有write setting的权限的方法为:

Settings.System.canWrite()


然后打开write setting请求页面的intent为:

ACTION_MANAGE_WRITE_SETTINGS


接下来就和system_alert_window的流程一样
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android