Commit bc52cce74e2f9a98d61e071bbe646d02f755c8fb

Authored by 朱显松
1 parent db665bcd

1.Android 13 存储权限适配

config.gradle
@@ -21,7 +21,7 @@ ext { @@ -21,7 +21,7 @@ ext {
21 //编译方式 21 //编译方式
22 debug : false, 22 debug : false,
23 //版本号 23 //版本号
24 - version: "1.1.5.6", 24 + version: "1.1.5.7",
25 //Lib库前缀 25 //Lib库前缀
26 packeg : "com.cnlive.media", 26 packeg : "com.cnlive.media",
27 //Lib库名称 27 //Lib库名称
lib_media/src/main/java/com/cnlive/media/frame/view/MediaView.java
@@ -6,6 +6,7 @@ import android.graphics.Color; @@ -6,6 +6,7 @@ import android.graphics.Color;
6 import android.graphics.drawable.ColorDrawable; 6 import android.graphics.drawable.ColorDrawable;
7 import android.media.ExifInterface; 7 import android.media.ExifInterface;
8 import android.net.Uri; 8 import android.net.Uri;
  9 +import android.os.Build;
9 import android.text.TextUtils; 10 import android.text.TextUtils;
10 import android.view.View; 11 import android.view.View;
11 import android.widget.AdapterView; 12 import android.widget.AdapterView;
@@ -179,7 +180,7 @@ public class MediaView implements MvpView { @@ -179,7 +180,7 @@ public class MediaView implements MvpView {
179 } 180 }
180 181
181 public boolean hasPermission() { 182 public boolean hasPermission() {
182 - return PermissionChecker.checkPermissions(mActivity 183 + return Build.VERSION.SDK_INT >= 33 || PermissionChecker.checkPermissions(mActivity
183 , new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE} 184 , new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}
184 , REQUEST_CODE_PERMISSION_CAMERA, R.string.dialog_imagepicker_permission_sdcard_message); 185 , REQUEST_CODE_PERMISSION_CAMERA, R.string.dialog_imagepicker_permission_sdcard_message);
185 } 186 }
lib_media/src/main/java/com/cnlive/media/ui/activity/MediaActivity.java
@@ -132,8 +132,7 @@ public class MediaActivity extends MvpBindingActivity<MediaView, MediaPresenter, @@ -132,8 +132,7 @@ public class MediaActivity extends MvpBindingActivity<MediaView, MediaPresenter,
132 Manifest.permission.RECORD_AUDIO, 132 Manifest.permission.RECORD_AUDIO,
133 "android.permission.READ_MEDIA_IMAGES", 133 "android.permission.READ_MEDIA_IMAGES",
134 "android.permission.READ_MEDIA_AUDIO", 134 "android.permission.READ_MEDIA_AUDIO",
135 - "android.permission.READ_MEDIA_VIDEO",  
136 - Manifest.permission.WRITE_EXTERNAL_STORAGE} : 135 + "android.permission.READ_MEDIA_VIDEO"} :
137 new String[]{ 136 new String[]{
138 Manifest.permission.CAMERA, 137 Manifest.permission.CAMERA,
139 Manifest.permission.RECORD_AUDIO, 138 Manifest.permission.RECORD_AUDIO,
@@ -144,8 +143,7 @@ public class MediaActivity extends MvpBindingActivity<MediaView, MediaPresenter, @@ -144,8 +143,7 @@ public class MediaActivity extends MvpBindingActivity<MediaView, MediaPresenter,
144 new String[]{ 143 new String[]{
145 "android.permission.READ_MEDIA_IMAGES", 144 "android.permission.READ_MEDIA_IMAGES",
146 "android.permission.READ_MEDIA_AUDIO", 145 "android.permission.READ_MEDIA_AUDIO",
147 - "android.permission.READ_MEDIA_VIDEO",  
148 - Manifest.permission.WRITE_EXTERNAL_STORAGE} : 146 + "android.permission.READ_MEDIA_VIDEO"} :
149 new String[]{ 147 new String[]{
150 Manifest.permission.READ_EXTERNAL_STORAGE, 148 Manifest.permission.READ_EXTERNAL_STORAGE,
151 Manifest.permission.WRITE_EXTERNAL_STORAGE}; 149 Manifest.permission.WRITE_EXTERNAL_STORAGE};
lib_media/src/main/java/com/cnlive/media/ui/activity/RecordActivity.java
@@ -64,8 +64,7 @@ public class RecordActivity extends MvpBindingActivity<RecordView, RecordPresent @@ -64,8 +64,7 @@ public class RecordActivity extends MvpBindingActivity<RecordView, RecordPresent
64 Manifest.permission.RECORD_AUDIO, 64 Manifest.permission.RECORD_AUDIO,
65 "android.permission.READ_MEDIA_IMAGES", 65 "android.permission.READ_MEDIA_IMAGES",
66 "android.permission.READ_MEDIA_AUDIO", 66 "android.permission.READ_MEDIA_AUDIO",
67 - "android.permission.READ_MEDIA_VIDEO",  
68 - Manifest.permission.WRITE_EXTERNAL_STORAGE} : 67 + "android.permission.READ_MEDIA_VIDEO"} :
69 new String[]{ 68 new String[]{
70 Manifest.permission.CAMERA, 69 Manifest.permission.CAMERA,
71 Manifest.permission.RECORD_AUDIO, 70 Manifest.permission.RECORD_AUDIO,
@@ -77,8 +76,7 @@ public class RecordActivity extends MvpBindingActivity<RecordView, RecordPresent @@ -77,8 +76,7 @@ public class RecordActivity extends MvpBindingActivity<RecordView, RecordPresent
77 Manifest.permission.RECORD_AUDIO, 76 Manifest.permission.RECORD_AUDIO,
78 "android.permission.READ_MEDIA_IMAGES", 77 "android.permission.READ_MEDIA_IMAGES",
79 "android.permission.READ_MEDIA_AUDIO", 78 "android.permission.READ_MEDIA_AUDIO",
80 - "android.permission.READ_MEDIA_VIDEO",  
81 - Manifest.permission.WRITE_EXTERNAL_STORAGE} : 79 + "android.permission.READ_MEDIA_VIDEO"} :
82 new String[]{ 80 new String[]{
83 Manifest.permission.CAMERA, 81 Manifest.permission.CAMERA,
84 Manifest.permission.RECORD_AUDIO, 82 Manifest.permission.RECORD_AUDIO,
lib_media/src/main/java/com/cnlive/media/ui/fragment/RecordFragment.java
@@ -86,8 +86,7 @@ public class RecordFragment extends MvpBindingFragment<RecordFragmentView, Recor @@ -86,8 +86,7 @@ public class RecordFragment extends MvpBindingFragment<RecordFragmentView, Recor
86 Manifest.permission.RECORD_AUDIO, 86 Manifest.permission.RECORD_AUDIO,
87 "android.permission.READ_MEDIA_IMAGES", 87 "android.permission.READ_MEDIA_IMAGES",
88 "android.permission.READ_MEDIA_AUDIO", 88 "android.permission.READ_MEDIA_AUDIO",
89 - "android.permission.READ_MEDIA_VIDEO",  
90 - Manifest.permission.WRITE_EXTERNAL_STORAGE} : 89 + "android.permission.READ_MEDIA_VIDEO"} :
91 new String[]{ 90 new String[]{
92 Manifest.permission.CAMERA, 91 Manifest.permission.CAMERA,
93 Manifest.permission.RECORD_AUDIO, 92 Manifest.permission.RECORD_AUDIO,
lib_media/src/main/java/com/cnlive/media/utils/FileUtils.java
@@ -149,6 +149,7 @@ public class FileUtils { @@ -149,6 +149,7 @@ public class FileUtils {
149 } 149 }
150 150
151 private static boolean hasExternalStoragePermission(Context context) { 151 private static boolean hasExternalStoragePermission(Context context) {
  152 + if (Build.VERSION.SDK_INT >= 33) return true;
152 int perm = context.checkCallingOrSelfPermission(EXTERNAL_STORAGE_PERMISSION); 153 int perm = context.checkCallingOrSelfPermission(EXTERNAL_STORAGE_PERMISSION);
153 return perm == PackageManager.PERMISSION_GRANTED; 154 return perm == PackageManager.PERMISSION_GRANTED;
154 } 155 }