feat: 新增安卓端允许访问所有文件的权限申请流程
This commit is contained in:
parent
fe67e1abda
commit
b4ab7f4039
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
Loading…
Reference in New Issue