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",
|
"icon": "images/chat_permission_icon_file.png",
|
||||||
"text": TIM_t("为方便您查看和选择相册里的图片视频发送给朋友,以及保存内容到设备,请允许我们访问您设备上的照片、媒体内容。")
|
"text": TIM_t("为方便您查看和选择相册里的图片视频发送给朋友,以及保存内容到设备,请允许我们访问您设备上的照片、媒体内容。")
|
||||||
},
|
},
|
||||||
|
22: {
|
||||||
|
"name": TIM_t("管理所有文件"),
|
||||||
|
"icon": "images/chat_permission_icon_file.png",
|
||||||
|
"text": TIM_t("为方便您访问设备上的所有照片、视频和文件,以便发送给朋友和保存内容到设备,请允许我们管理所有文件的权限。这样您就可以选择设备上的任意资源了。")
|
||||||
|
},
|
||||||
32: {
|
32: {
|
||||||
"name": TIM_t("相册"),
|
"name": TIM_t("相册"),
|
||||||
"icon": "images/chat_permission_icon_file.png",
|
"icon": "images/chat_permission_icon_file.png",
|
||||||
|
|
|
||||||
|
|
@ -148,13 +148,23 @@ class _TIMUIKitImageElem extends TIMUIKitState<TIMUIKitImageElem> {
|
||||||
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
|
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
|
||||||
if (PlatformUtils().isMobile) {
|
if (PlatformUtils().isMobile) {
|
||||||
if ((androidInfo.version.sdkInt) >= 33) {
|
if ((androidInfo.version.sdkInt) >= 33) {
|
||||||
final photos = await Permissions.checkPermission(
|
// Android 13+: 优先检查管理外部存储权限以访问所有资源
|
||||||
|
final manageExternalStorage = await Permissions.checkPermission(
|
||||||
context,
|
context,
|
||||||
Permission.photos.value,
|
Permission.manageExternalStorage.value,
|
||||||
theme,
|
theme,
|
||||||
);
|
);
|
||||||
if (!photos) {
|
|
||||||
return;
|
if (!manageExternalStorage) {
|
||||||
|
// 如果没有管理外部存储权限,则检查照片权限
|
||||||
|
final photos = await Permissions.checkPermission(
|
||||||
|
context,
|
||||||
|
Permission.photos.value,
|
||||||
|
theme,
|
||||||
|
);
|
||||||
|
if (!photos) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
final storage = await Permissions.checkPermission(
|
final storage = await Permissions.checkPermission(
|
||||||
|
|
|
||||||
|
|
@ -361,18 +361,28 @@ class _MorePanelState extends TIMUIKitState<MorePanel> {
|
||||||
if (PlatformUtils().isAndroid) {
|
if (PlatformUtils().isAndroid) {
|
||||||
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
|
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
|
||||||
if ((androidInfo.version.sdkInt) >= 33) {
|
if ((androidInfo.version.sdkInt) >= 33) {
|
||||||
final videos = await Permissions.checkPermission(
|
// Android 13+: 优先检查管理外部存储权限以访问所有资源
|
||||||
|
final manageExternalStorage = await Permissions.checkPermission(
|
||||||
context,
|
context,
|
||||||
Permission.videos.value,
|
Permission.manageExternalStorage.value,
|
||||||
theme,
|
theme,
|
||||||
);
|
);
|
||||||
final photos = await Permissions.checkPermission(
|
|
||||||
context,
|
if (!manageExternalStorage) {
|
||||||
Permission.photos.value,
|
// 如果没有管理外部存储权限,则检查媒体权限
|
||||||
theme,
|
final videos = await Permissions.checkPermission(
|
||||||
);
|
context,
|
||||||
if (!videos && !photos) {
|
Permission.videos.value,
|
||||||
return;
|
theme,
|
||||||
|
);
|
||||||
|
final photos = await Permissions.checkPermission(
|
||||||
|
context,
|
||||||
|
Permission.photos.value,
|
||||||
|
theme,
|
||||||
|
);
|
||||||
|
if (!videos && !photos) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
final storage = await Permissions.checkPermission(
|
final storage = await Permissions.checkPermission(
|
||||||
|
|
|
||||||
|
|
@ -86,13 +86,22 @@ class _VideoScreenState extends TIMUIKitState<VideoScreen> {
|
||||||
final DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
|
final DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
|
||||||
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
|
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
|
||||||
if ((androidInfo.version.sdkInt) >= 33) {
|
if ((androidInfo.version.sdkInt) >= 33) {
|
||||||
final videos = await Permissions.checkPermission(
|
// Android 13+: 优先检查管理外部存储权限以访问所有资源
|
||||||
|
final manageExternalStorage = await Permissions.checkPermission(
|
||||||
context,
|
context,
|
||||||
Permission.videos.value,
|
Permission.manageExternalStorage.value,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (!manageExternalStorage) {
|
||||||
|
// 如果没有管理外部存储权限,则检查视频权限
|
||||||
|
final videos = await Permissions.checkPermission(
|
||||||
|
context,
|
||||||
|
Permission.videos.value,
|
||||||
|
);
|
||||||
|
|
||||||
if (!videos) {
|
if (!videos) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
final storage = await Permissions.checkPermission(
|
final storage = await Permissions.checkPermission(
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue