This commit is contained in:
2025-12-15 14:10:54 +08:00
parent 434f134f53
commit 2491213ca6
361 changed files with 7533 additions and 5354 deletions
@@ -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