android 6.0权限问题处理的核心代码--shouldShowRequestPermissionRationale正确用法
16lz
2021-01-23
private void requestPermission(String[] permissions) { boolean isMinSdkM = Build.VERSION.SDK_INT < Build.VERSION_CODES.M; if (isMinSdkM || permissions.length == 0) { PermissionHelper.getInstance().onAllPermissionGranted(); return; } ActivityCompat.requestPermissions(this, permissions, 1);}@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); for (int i = 0; i < grantResults.length; i++) { boolean isTip = ActivityCompat.shouldShowRequestPermissionRationale(this, permissions[i]); if (grantResults[i] != PackageManager.PERMISSION_GRANTED) { if (isTip) {//表明用户没有彻底禁止弹出权限请求 requestPermission(PermissionHelper.getInstance().filterPermissions(permissions)); } else {//表明用户已经彻底禁止弹出权限请求 // PermissionMonitorService.start(this);//这里一般会提示用户进入权限设置界面 } return; } } PermissionHelper.getInstance().onAllPermissionGranted();}
更多相关文章
- Android 图形用户界面 之 绘图(一)
- android 6.0及以上危险权限的获取
- android需要的访问权限(不断更新,希望大家多交流)
- android 权限明细
- Android Permission denied 错误(附Android权限大全)
- android判断应用是否有某个权限
- android:动态申请权限(一)
- Android 判断通知栏权限的问题
- Android应用默认权限开启