【发布时间】:2021-12-21 07:35:30
【问题描述】:
问题
我试图将小部件图像存储到手机图库中,因此我实现了image_gallery_saver 插件。不幸的是,当我调用此方法时,我不断收到以下错误:
Unhandled Exception: MissingPluginException(No implementation found for method saveImageToGallery on channel image_gallery_saver)#0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:154:7)
<asynchronous suspension>
#1 ImageGallerySaver.saveImage (package:image_gallery_saver/image_gallery_saver.dart:20:9)
<asynchronous suspension>
#2 InitiatePaymentState.saveImagetoGallery (package:scambio/initiate_payment.dart:611:20)
<asynchronous suspension>
#3 InitiatePaymentState.build.<anonymous closure> (package:scambio/initiate_payment.dart:297:21)
<asynchronous suspension>
我的代码:
- 插件的调用位置:
Future<String> saveImagetoGallery(Uint8List image) async{
await [Permission.storage].request();
final name = 'StasticQRcode_$getVendorShopName()_$_amount';
final result = await ImageGallerySaver.saveImage(image, quality: 100, name: name);
return result['filePath'];
}
- pubspec.yaml:
dependencies:
flutter:
sdk: flutter
http :
intl:
cupertino_icons: ^1.0.3
pin_code_fields: ^7.3.0
flutter_secure_storage: ^4.2.1
iban: ^1.0.1
sqflite: ^2.0.0+4
path: ^1.6.4
webview_flutter : ^2.3.0
qr_flutter: ^4.0.0 #qrcode generation
qrcode: ^1.0.4 #qrcode scanning
url_launcher: ^6.0.12 #launching url
uuid: ^3.0.5
encrypt: ^5.0.1
simple_rsa: ^0.0.5
crypto: ^3.0.1
crypto_keys: ^0.3.0
pointycastle: ^3.3.4
# capture screenshot
screenshot: ^1.2.3
#image save
image_gallery_saver: ^1.7.1
permission_handler:
- info.plist
<dict>
<key>NSPhotoLibraryUsageDescription</key>
<string>This app needs to use Photos</string>
<...>
- AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application
android:name="${applicationName}"
android:label="scambio"
android:requestLegacyExternalStorage="true"
android:icon="@mipmap/ic_launcher">
使用的解决方案
我尝试了以下所有解决方案,但都没有奏效。
- 重新安装应用程序。
- 在构建 gradle 中添加 shrinkResources false 和 minifyEnabled false。
- flutter clean 然后安装 pod。
PS。最近升级了flutter,升级后实现的插件好像都不能用了。会不会是这个插件不起作用的原因?
所有建议将不胜感激!
【问题讨论】:
-
授权了吗?
标签: flutter android-studio dart plugins