以下是检查是否具有SYSTEM_ALERT_WINDOW权限的示例代码:
if (Settings.canDrawOverlays(context)) { //有该权限,执行操作 } else { //没有该权限,请求权限 Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())); startActivityForResult(intent, REQUEST_CODE); }
在onActivityResult()方法中添加以下代码以检查用户是否已授予权限:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_CODE) { if (Settings.canDrawOverlays(context)) { //已授予SYSTEM_ALERT_WINDOW权限,执行操作 } else { //未授予权限,执行其他操作 } } }