I am trying to use the image picker dependency, but I am running into a. a bit of a problem. Here is the function I created for the image picker:
pickImage(ImageSource source)async{
final ImagePicker imagePicker = ImagePicker();
XFile? file =await imagePicker.pickImage(source: source);
if(file != null){
return file.readAsBytes();
}else{
print('no image selected');
}
}
this was created in a class called _authController. I then created another function for it to pick from the gallery specifically
Uint8List? _image;
final AuthController _authController = AuthController();
gallarypick()async{
Uint8List im = await _authController.pickImage(ImageSource.gallery);
setState(() {
_image = im;
});
}
when i called the function, it gave me this error
W/DynamiteModule( 3685): Local module descriptor class for com.google.android.gms.providerinstaller.dynamite not found.
I/DynamiteModule( 3685): Considering local module com.google.android.gms.providerinstaller.dynamite:0 and remote module com.google.android.gms.providerinstaller.dynamite:0
W/ProviderInstaller( 3685): Failed to load providerinstaller module: No acceptable module com.google.android.gms.providerinstaller.dynamite found. Local version is 0 and remote version is 0.
W/ConnectivityManager.CallbackHandler( 3685): callback not found for CALLBACK_AVAILABLE message
D/EGL_emulation( 3685): app_time_stats: avg=163941.78ms min=37.00ms max=654994.19ms count=4
D/EGL_emulation( 3685): app_time_stats: avg=1099.78ms min=894.68ms max=1304.88ms count=2
E/flutter ( 3685): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: MissingPluginException(No implementation found for method pickImage on channel plugins.flutter.io/image_picker)
E/flutter ( 3685): #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:294:7)
E/flutter ( 3685): <asynchronous suspension>
E/flutter ( 3685): #1 MethodChannelImagePicker.getImageFromSource (package:image_picker_platform_interface/src/method_channel/method_channel_image_picker.dart:209:26)
E/flutter ( 3685): <asynchronous suspension>
E/flutter ( 3685): #2 AuthController.pickImage (package:car_app/controllers/auth_controller.dart:12:17)
E/flutter ( 3685): <asynchronous suspension>
E/flutter ( 3685): #3 _SellerSignUpState.gallarypick (package:car_app/signup and login/seller signup and login/seller_signup.dart:25:19)
E/flutter ( 3685): <asynchronous suspension>
E/flutter ( 3685):
I do not understand what is wrong. Help would be very much appreciated
CodePudding user response:
You probably installed the package and tries to execute its code directly, the image_picker package needs to get into native functionalities from the device, so it needs a re-run of your app, not hot restart/reload :
- stop your app from running
- run the
flutter clean
command - run the
flutter pub get
command
then run your debug app again, and it should work
CodePudding user response:
please add the necessary android permissions like below in android manifest file and let me know if it works
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
please refer to the link below which is of same kind.