Commit b3a5b291 by 郭倩芳

Android 14 选择图片、视频的权限

parent f709fbc7
...@@ -521,7 +521,7 @@ public abstract class SobotBaseActivity extends FragmentActivity { ...@@ -521,7 +521,7 @@ public abstract class SobotBaseActivity extends FragmentActivity {
for (int i = 0; i < grantResults.length; i++) { for (int i = 0; i < grantResults.length; i++) {
if (permissions[i] != null && permissions[i].equals(Manifest.permission.READ_MEDIA_VISUAL_USER_SELECTED)) { if (permissions[i] != null && permissions[i].equals(Manifest.permission.READ_MEDIA_VISUAL_USER_SELECTED)) {
// SobotLogUtils.d("=====android 14权限===="+permissions[i].equals(Manifest.permission.READ_MEDIA_VISUAL_USER_SELECTED)+"====="+grantResults[i]); // SobotLogUtils.d("=====android 14权限===="+permissions[i].equals(Manifest.permission.READ_MEDIA_VISUAL_USER_SELECTED)+"====="+grantResults[i]);
if(grantResults[i] == PackageManager.PERMISSION_GRANTED){ if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
if (permissionListener != null) { if (permissionListener != null) {
permissionListener.onPermissionSuccessListener(); permissionListener.onPermissionSuccessListener();
} }
...@@ -610,7 +610,7 @@ public abstract class SobotBaseActivity extends FragmentActivity { ...@@ -610,7 +610,7 @@ public abstract class SobotBaseActivity extends FragmentActivity {
/** /**
* 检查存储权限 * 检查存储权限
* *
* @param checkType 0:图片权限 1:视频权限,2:音频权限,3,所有细分的权限, android 13 使用 4:图片和视频权限,读取相册图片和视频 * @param checkType 0:图片权限 1:视频权限,2:音频权限,3:选文件,图片、视频、录音所有细分的权限 4:图片和视频权限,读取相册图片和视频
* @return true, 已经获取权限;false,没有权限,尝试获取 * @return true, 已经获取权限;false,没有权限,尝试获取
*/ */
protected boolean checkStoragePermission(int checkType) { protected boolean checkStoragePermission(int checkType) {
...@@ -630,10 +630,10 @@ public abstract class SobotBaseActivity extends FragmentActivity { ...@@ -630,10 +630,10 @@ public abstract class SobotBaseActivity extends FragmentActivity {
return false; return false;
} }
} else if (checkType == 3) { } else if (checkType == 3) {
if (ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_IMAGES) //为适配Android 14
!= PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_VIDEO) if (ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_IMAGES) != PackageManager.PERMISSION_GRANTED ||
!= PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_AUDIO) ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_VIDEO) != PackageManager.PERMISSION_GRANTED ||
!= PackageManager.PERMISSION_GRANTED) { ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_AUDIO) != PackageManager.PERMISSION_GRANTED) {
//申请:图片权限 视频权限 音频权限 //申请:图片权限 视频权限 音频权限
this.requestPermissions(new String[]{Manifest.permission.READ_MEDIA_AUDIO, Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.READ_MEDIA_VIDEO}, SobotBaseConstant.REQUEST_CODE_PICTURE); this.requestPermissions(new String[]{Manifest.permission.READ_MEDIA_AUDIO, Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.READ_MEDIA_VIDEO}, SobotBaseConstant.REQUEST_CODE_PICTURE);
return false; return false;
...@@ -661,7 +661,7 @@ public abstract class SobotBaseActivity extends FragmentActivity { ...@@ -661,7 +661,7 @@ public abstract class SobotBaseActivity extends FragmentActivity {
/** /**
* 判断是否有存储卡权限 * 判断是否有存储卡权限
* *
* @param checkPermissionType 0:图片权限 1:视频权限,2:音频权限,3,所有细分的权限, android 13 使用 4:相册权限,读取相册图片和视频 * @param checkPermissionType 0:图片权限 1:视频权限,2:音频权限,3:选文件,图片、视频、录音所有细分的权限 4:图片和视频权限,读取相册图片和视频
* @return true, 已经获取权限;false,没有权限 * @return true, 已经获取权限;false,没有权限
*/ */
protected boolean isHasStoragePermission(int checkPermissionType) { protected boolean isHasStoragePermission(int checkPermissionType) {
...@@ -676,16 +676,16 @@ public abstract class SobotBaseActivity extends FragmentActivity { ...@@ -676,16 +676,16 @@ public abstract class SobotBaseActivity extends FragmentActivity {
return false; return false;
} }
} else if (checkPermissionType == 3) { } else if (checkPermissionType == 3) {
if (ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_IMAGES) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE &&
!= PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_VIDEO) ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_VISUAL_USER_SELECTED) == PackageManager.PERMISSION_GRANTED) {
!= PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_AUDIO) return true;
!= PackageManager.PERMISSION_GRANTED) { }
if (ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_IMAGES) != PackageManager.PERMISSION_GRANTED ||
ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_VIDEO) != PackageManager.PERMISSION_GRANTED ||
ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_AUDIO) != PackageManager.PERMISSION_GRANTED) {
return false; return false;
} }
} else { } else {
// SobotLogUtils.d("=======READ_MEDIA_IMAGES=====" + ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_IMAGES)+"===="+(ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_IMAGES) == PackageManager.PERMISSION_GRANTED));
// SobotLogUtils.d("=======READ_MEDIA_VIDEO=====" + ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_VIDEO)+"===="+(ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_VIDEO) == PackageManager.PERMISSION_GRANTED));
// SobotLogUtils.d("=======READ_MEDIA_VISUAL_USER_SELECTED=====" + ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_VISUAL_USER_SELECTED)+"===="+(ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_VISUAL_USER_SELECTED) == PackageManager.PERMISSION_GRANTED));
if (ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_IMAGES) != PackageManager.PERMISSION_GRANTED if (ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_IMAGES) != PackageManager.PERMISSION_GRANTED
|| ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_VIDEO) != PackageManager.PERMISSION_GRANTED) { || ContextCompat.checkSelfPermission(getSobotBaseActivity(), Manifest.permission.READ_MEDIA_VIDEO) != PackageManager.PERMISSION_GRANTED) {
return false; return false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment