v418
This commit is contained in:
+13
-3
@@ -174,7 +174,18 @@ public class CaptureVideoActivity extends UI implements SurfaceHolder.Callback {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
if (PermissionsUtil.hasPermission(CaptureVideoActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
|
||||
// Android 13+ (API 33+) 视频保存到应用私有目录,不需要存储权限
|
||||
// Android 12及以下需要存储权限
|
||||
boolean needsPermission = Build.VERSION.SDK_INT < 33; // 33 = Build.VERSION_CODES.TIRAMISU (API 33)
|
||||
boolean hasPermission = true;
|
||||
String[] permissionsToRequest = null;
|
||||
|
||||
if (needsPermission) {
|
||||
hasPermission = PermissionsUtil.hasPermission(CaptureVideoActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
||||
permissionsToRequest = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};
|
||||
}
|
||||
|
||||
if (hasPermission) {
|
||||
if (recording) {
|
||||
stopRecorder();
|
||||
sendVideo();
|
||||
@@ -182,7 +193,6 @@ public class CaptureVideoActivity extends UI implements SurfaceHolder.Callback {
|
||||
startRecorder();
|
||||
}
|
||||
} else {
|
||||
|
||||
PermissionsUtil.requestPermission(CaptureVideoActivity.this, new PermissionListener() {
|
||||
@Override
|
||||
public void permissionGranted(@NonNull String[] permissions) {
|
||||
@@ -200,7 +210,7 @@ public class CaptureVideoActivity extends UI implements SurfaceHolder.Callback {
|
||||
//
|
||||
}
|
||||
|
||||
}, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE});
|
||||
}, permissionsToRequest);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
@@ -36,7 +36,14 @@ public class NIMGlideModule implements GlideModule {
|
||||
// sdcard/Android/data/com.netease.nim.demo/glide
|
||||
final String cachedDirName = "glide";
|
||||
builder.setDiskCache(new ExternalCacheDiskCacheFactory(context, cachedDirName, MAX_DISK_CACHE_SIZE));
|
||||
LogUtil.i(TAG, "NIMGlideModule apply options, disk cached path=" + context.getExternalCacheDir() + File.pathSeparator + cachedDirName);
|
||||
// 添加异常捕获,避免在日志系统未初始化时崩溃(特别是在子进程中)
|
||||
try {
|
||||
LogUtil.i(TAG, "NIMGlideModule apply options, disk cached path=" + context.getExternalCacheDir() + File.pathSeparator + cachedDirName);
|
||||
} catch (NullPointerException e) {
|
||||
// 日志系统未初始化时忽略,避免影响 Glide 初始化
|
||||
} catch (Exception e) {
|
||||
// 其他异常也忽略,避免影响 Glide 初始化
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user