Android中6.0及以上悬浮窗申请权限
2018-01-16 16:29
453 查看
1.判断版本、权限
try{
//判断当前系统版本 if(Build.VERSION.SDK_INT>=23) {
//判断权限是否已经申请过了(加上这个判断,则使用的悬浮窗的时候;如果权限已经申请则不再跳转到权限开启界面) if (!Settings.canDrawOverlays(this)){
//申请权限 Intent intent2=new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION); startActivityForResult(intent2, 1); }else{
//创建悬浮窗 Intent intent3 = new Intent(MainActivity.this, MenuService.class); startService(intent3); } }else{ Intent intent3 = new Intent(MainActivity.this, MenuService.class); startService(intent3); } System.out.println("Build.VERSION.SDK_INT::::"+Build.VERSION.SDK_INT); }catch (Exception e){ e.printStackTrace(); }
2.回调结果
@RequiresApi(api = Build.VERSION_CODES.M) protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 1) { if(Build.VERSION.SDK_INT>=23) { if (!Settings.canDrawOverlays(this)) { Toast.makeText(MainActivity.this, "权限授予失败,无法开启悬浮窗", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(MainActivity.this, "权限授予成功!", Toast.LENGTH_SHORT).show(); //创建悬浮窗 Intent intent = new Intent(MainActivity.this, MenuService.class); startService(intent); } } } }
相关文章推荐
- Android M 6.0以上 需要运行时申请的权限--easypermissions库
- React-Native之Android(6.0及以上)权限申请
- android 6.0及以上 运行时权限申请(动态权限申请)
- Android 6.0以上动态申请文件读写权限
- [置顶] Android 6.0(API 23)及其以上动态申请的权限与申请权限的方法
- Android 6.0以上的权限申请的问题
- android拨打电话崩溃6.0以上实时动态权限申请
- Android 6.0以上 需要运行时申请的权限(二)
- React-Native之Android(6.0及以上)权限申请详解
- Android 6.0(API 23) 含以上 java.lang.SecurityException 权限需动态申请(危险权限)
- React-Native之Android(6.0及以上)权限申请
- android 6.0 以上如何动态申请权限?
- Android 6.0以上 需要运行时申请的权限(一)
- API 23之前的版本都是自动获取权限,而从 Android 6.0 开始添加了权限申请的需求,更加安全。
- Android 6.0动态申请权限
- Android 6.0 动态权限申请注意事项
- Android 6.0(API 23) 运行时权限(二)之权限申请
- Android 6.0 动态权限申请
- Android 6.0 动态权限申请注意事项
- app在android 6.0或以上平台版本运行过程中请求权限