版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
在AndroidManifest中添加:
然后直接调用这个封装好的类就行:
public class WindowPermissionCheck { public static boolean checkPermission(Activity activity){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(activity)) { Toast.makeText(activity, "当前无权限,请授权", Toast.LENGTH_SHORT).show(); activity.startActivityForResult( new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + activity.getPackageName())), 0); return false; } return true; } public static void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data, OnWindowPermissionListener onWindowPermissionListener) { if (requestCode == 0) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(activity)) { Toast.makeText(activity.getApplicationContext(), "授权失败", Toast.LENGTH_SHORT).show(); if(onWindowPermissionListener!=null) onWindowPermissionListener.onFailure(); }else { Toast.makeText(activity.getApplicationContext(), "授权成功", Toast.LENGTH_SHORT).show(); if(onWindowPermissionListener!=null) onWindowPermissionListener.onSuccess(); } } } public interface OnWindowPermissionListener{ void onSuccess(); void onFailure(); } }