做钢化膜网站,自己开发网站怎么开发,百度电商广告代运营,黄骅市属于Android14请求动态申请存储权限
Android14和Android15存储权限有增加多了选择部分#xff0c;还是全部。一个小小的存储权限真的被它玩出了花来。本来Android13就将存储权限进行了3个细分#xff0c;是图片#xff0c;音频还是视频文件。
步骤一#xff1a;AndroidManife…Android14请求动态申请存储权限
Android14和Android15存储权限有增加多了选择部分还是全部。一个小小的存储权限真的被它玩出了花来。本来Android13就将存储权限进行了3个细分是图片音频还是视频文件。
步骤一AndroidManifest
uses-permission android:nameandroid.permission.WRITE_EXTERNAL_STORAGE /uses-permission android:nameandroid.permission.READ_EXTERNAL_STORAGE /!-- Android 13版本适配细化存储权限 --uses-permission android:nameandroid.permission.READ_MEDIA_IMAGES /uses-permission android:nameandroid.permission.READ_MEDIA_AUDIO /uses-permission android:nameandroid.permission.READ_MEDIA_VIDEO /!-- Android 14版本适配部分允许还是全部允许--uses-permission android:nameandroid.permission.READ_MEDIA_VISUAL_USER_SELECTED /步骤二、引入Rxpermissions
你用其他请求库也行 api com.jakewharton.rxbinding4:rxbinding:4.0.0api com.github.tbruyelle:rxpermissions:0.12步骤三、定义请求方法 // 联系893151960void requestStoragePermission(Context mContext, PermissionListener permissionListener) {if (PermissionCheckUtil.checkPermissions(mContext, PermissionNewUtils.getImageMediaPermission(mContext))) {permissionListener.permission(true);} else {PermissionNewUtils.requestCombinedPermission((FragmentActivity) mContext, PermissionNewUtils.getImageMediaPermission(mContext), new ConsumerPermission() {Overridepublic void accept(Permission it) throws Throwable {if (it.granted) {permissionListener.permission(true);} else {boolean partGranted false;// 部分同意if (Build.VERSION.SDK_INT Build.VERSION_CODES.UPSIDE_DOWN_CAKE mContext.getApplicationInfo().targetSdkVersion Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {if (ContextCompat.checkSelfPermission(mContext,READ_MEDIA_VISUAL_USER_SELECTED) PackageManager.PERMISSION_GRANTED) {permissionListener.permission(true);partGranted true;}}if (!partGranted) {permissionListener.permission(false);if (it.shouldShowRequestPermissionRationale) {//禁止,不做操作Toast.makeText(context, 禁止了权限, Toast.LENGTH_SHORT).show();} else {Toast.makeText(context, 永久禁止了权限, Toast.LENGTH_SHORT).show();//永久禁止
// DialogUtilsKT.okAndCancel(
// mContext,
// mContext.getString(alwaysContent),
// mContext.getString(R.string.ok_go_setting),
// title mContext.getString(alwaysTitle)
// ) {
// PermissionNewUtils.startAppSetting(mContext)
// }}}}}});}}项目demo结构图 有问题或者需要源码都可以私信我