修复分享小程序海报 保存图片失败的问题

更新版本号
master
zhangmeng 4 years ago
parent ebccf16557
commit e9ec9ba483

@ -27,6 +27,7 @@
android:label="瑞库客"
android:icon="@mipmap/ic_launcher"
tools:replace="android:label"
android:requestLegacyExternalStorage="true"
>
<meta-data android:name="com.amap.api.v2.apikey" android:value="7225bca14fe7493f9f469315a933f99c"/>

@ -25,7 +25,10 @@ class ImageUtils {
static Future<File> cropImage(file) async {
File croppedFile = await ImageCropper.cropImage(
sourcePath: file.path,
androidUiSettings: AndroidUiSettings(toolbarTitle: "裁剪",toolbarColor: Colors.blue, toolbarWidgetColor: Colors.white ),
androidUiSettings: AndroidUiSettings(
toolbarTitle: "裁剪",
toolbarColor: Colors.blue,
toolbarWidgetColor: Colors.white),
aspectRatio: CropAspectRatio(ratioX: 1, ratioY: 1),
);
return croppedFile;
@ -75,26 +78,29 @@ class ImageUtils {
// return filePath != null && filePath != "";
// }
static Future<bool> saveNetworkImagesToPhoto(
List<String> urls,
List<String> urls,
void Function(int index) callBack,
void Function(bool success) endBack,
{bool useCache: true,}) async {
//
if (Platform.isAndroid) {
PermissionStatus permissionStorage =
await PermissionHandler().checkPermissionStatus(PermissionGroup.storage);
if (permissionStorage != PermissionStatus.granted) {
Map<PermissionGroup, PermissionStatus> permissionStatus =
await PermissionHandler().requestPermissions([PermissionGroup.storage]);
permissionStorage = permissionStatus[PermissionGroup.storage] ?? PermissionStatus.unknown;
void Function(bool success) endBack, {
bool useCache: true,
}) async {
//
if (Platform.isAndroid) {
PermissionStatus permissionStorage = await PermissionHandler()
.checkPermissionStatus(PermissionGroup.storage);
if (permissionStorage != PermissionStatus.granted) {
Map<PermissionGroup, PermissionStatus> permissionStatus =
await PermissionHandler()
.requestPermissions([PermissionGroup.storage]);
permissionStorage = permissionStatus[PermissionGroup.storage] ??
PermissionStatus.unknown;
if (permissionStorage != PermissionStatus.granted) {
print("❌----------has no Permission");
return false;
}
if (permissionStorage != PermissionStatus.granted) {
print("❌----------has no Permission");
return false;
}
}
//
}
//
for (var i = 0; i < urls.length; i++) {
String url = urls[i];
@ -102,16 +108,16 @@ class ImageUtils {
try {
final result = await ImageGallerySaver.saveImage(data);
if (Platform.isAndroid) {
if (!TextUtils.isEmpty(result)){
if (!TextUtils.isEmpty(result)) {
callBack(i);
}else{
} else {
endBack(false);
return false;
}
}else if (Platform.isIOS){
} else if (Platform.isIOS) {
if (result) {
callBack(i);
}else{
} else {
endBack(false);
return false;
}
@ -131,64 +137,66 @@ class ImageUtils {
endBack(true);
return true;
}
static Future<bool> saveImage(
List<Uint8List> fileDatas,
void Function(int index) callBack,
void Function(bool success) endBack) async {
//
if (Platform.isAndroid) {
PermissionStatus permissionStorage =
await PermissionHandler().checkPermissionStatus(PermissionGroup.storage);
if (permissionStorage != PermissionStatus.granted) {
Map<PermissionGroup, PermissionStatus> permissionStatus =
await PermissionHandler().requestPermissions([PermissionGroup.storage]);
permissionStorage = permissionStatus[PermissionGroup.storage] ?? PermissionStatus.unknown;
List<Uint8List> fileDatas,
void Function(int index) callBack,
void Function(bool success) endBack) async {
//
if (Platform.isAndroid) {
PermissionStatus permissionStorage = await PermissionHandler()
.checkPermissionStatus(PermissionGroup.storage);
if (permissionStorage != PermissionStatus.granted) {
Map<PermissionGroup, PermissionStatus> permissionStatus =
await PermissionHandler()
.requestPermissions([PermissionGroup.storage]);
permissionStorage = permissionStatus[PermissionGroup.storage] ??
PermissionStatus.unknown;
if (permissionStorage != PermissionStatus.granted) {
print("❌----------has no Permission");
return false;
}
if (permissionStorage != PermissionStatus.granted) {
print("❌----------has no Permission");
return false;
}
}
//
for (var i = 0; i < fileDatas.length; i++) {
Uint8List data = fileDatas[i];
try {
final result = await ImageGallerySaver.saveImage(data);
if (Platform.isAndroid) {
if (!TextUtils.isEmpty(result)){
callBack(i);
}else{
endBack(false);
return false;
}
}else if (Platform.isIOS){
if (result) {
callBack(i);
}else{
endBack(false);
return false;
}
}
//
for (var i = 0; i < fileDatas.length; i++) {
Uint8List data = fileDatas[i];
try {
final Map<dynamic, dynamic> result =
await ImageGallerySaver.saveImage(data);
if (Platform.isAndroid) {
if (result.containsValue(true)) {
callBack(i);
} else {
endBack(false);
return false;
}
} else if (Platform.isIOS) {
if (result.containsValue(true)) {
callBack(i);
} else {
endBack(false);
return false;
}
} catch (e) {
if (e is ArgumentError) {
if (Platform.isIOS) {
callBack(i);
if (i == (fileDatas.length-1)) {
endBack(true);
return true;
}
continue;
}
} catch (e) {
if (e is ArgumentError) {
if (Platform.isIOS) {
callBack(i);
if (i == (fileDatas.length - 1)) {
endBack(true);
return true;
}
continue;
}
DPrint.printf(e);
endBack(false);
return false;
}
DPrint.printf(e);
endBack(false);
return false;
}
endBack(true);
return true;
}
endBack(true);
return true;
}
}

@ -647,7 +647,7 @@ packages:
name: image_gallery_saver
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.5.0"
version: "1.6.9"
image_picker:
dependency: transitive
description:

@ -2,7 +2,7 @@ name: recook
description: Recook Market App.
publish_to: "none"
version: 1.8.0-dev+301
version: 1.8.2-dev+303
environment:
sdk: ">=2.10.0 <3.0.0"
@ -170,7 +170,7 @@ dependencies:
ref: patch-1
# wechat_assets_picker: ^2.2.0+2
image_gallery_saver: 1.5.0
image_gallery_saver: 1.6.9
# 因为项目compileSdkVersion 28
# 第三方包compileSdkVersion 是27 所以需要修改 不然build会出错
#

Loading…
Cancel
Save