需要在AndroidManifest.xml文件中添加如下权限声明:
然后在代码中检查该权限是否可用:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(context)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + context.getPackageName()));
startActivityForResult(intent, REQUEST_CODE);
} else {
// 已经有在顶部绘制权限,执行操作
}
如果权限不可用,可以打开系统设置页面让用户手动开启该权限。