feat: 新增安卓端允许访问所有文件的权限申请流程

This commit is contained in:
Zeew 2025-08-13 23:28:53 +08:00
parent fe67e1abda
commit b4ab7f4039
4 changed files with 51 additions and 17 deletions

View File

@ -77,6 +77,11 @@ class _PermissionRequestInfo extends TIMUIKitState<PermissionRequestInfo>
"icon": "images/chat_permission_icon_file.png",
"text": TIM_t("为方便您查看和选择相册里的图片视频发送给朋友,以及保存内容到设备,请允许我们访问您设备上的照片、媒体内容。")
},
22: {
"name": TIM_t("管理所有文件"),
"icon": "images/chat_permission_icon_file.png",
"text": TIM_t("为方便您访问设备上的所有照片、视频和文件,以便发送给朋友和保存内容到设备,请允许我们管理所有文件的权限。这样您就可以选择设备上的任意资源了。")
},
32: {
"name": TIM_t("相册"),
"icon": "images/chat_permission_icon_file.png",

View File

@ -148,13 +148,23 @@ class _TIMUIKitImageElem extends TIMUIKitState<TIMUIKitImageElem> {
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
if (PlatformUtils().isMobile) {
if ((androidInfo.version.sdkInt) >= 33) {
final photos = await Permissions.checkPermission(
// Android 13+: 访
final manageExternalStorage = await Permissions.checkPermission(
context,
Permission.photos.value,
Permission.manageExternalStorage.value,
theme,
);
if (!photos) {
return;
if (!manageExternalStorage) {
//
final photos = await Permissions.checkPermission(
context,
Permission.photos.value,
theme,
);
if (!photos) {
return;
}
}
} else {
final storage = await Permissions.checkPermission(

View File

@ -361,18 +361,28 @@ class _MorePanelState extends TIMUIKitState<MorePanel> {
if (PlatformUtils().isAndroid) {
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
if ((androidInfo.version.sdkInt) >= 33) {
final videos = await Permissions.checkPermission(
// Android 13+: 访
final manageExternalStorage = await Permissions.checkPermission(
context,
Permission.videos.value,
Permission.manageExternalStorage.value,
theme,
);
final photos = await Permissions.checkPermission(
context,
Permission.photos.value,
theme,
);
if (!videos && !photos) {
return;
if (!manageExternalStorage) {
//
final videos = await Permissions.checkPermission(
context,
Permission.videos.value,
theme,
);
final photos = await Permissions.checkPermission(
context,
Permission.photos.value,
theme,
);
if (!videos && !photos) {
return;
}
}
} else {
final storage = await Permissions.checkPermission(

View File

@ -86,13 +86,22 @@ class _VideoScreenState extends TIMUIKitState<VideoScreen> {
final DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
if ((androidInfo.version.sdkInt) >= 33) {
final videos = await Permissions.checkPermission(
// Android 13+: 访
final manageExternalStorage = await Permissions.checkPermission(
context,
Permission.videos.value,
Permission.manageExternalStorage.value,
);
if (!manageExternalStorage) {
//
final videos = await Permissions.checkPermission(
context,
Permission.videos.value,
);
if (!videos) {
return;
if (!videos) {
return;
}
}
} else {
final storage = await Permissions.checkPermission(