ASAP ImageDownloader error asynchronus suspension - flutter

im using this package image_downloader 0.31.0 i already look for the example to use this but i always got this error, don't know why
error results
E/flutter (28894): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: MissingPluginException(No implementation found for method downloadImage on channel plugins.ko2ic.com/image_downloader)
E/flutter (28894): #0 MethodChannel._invokeMethod
package:flutter/…/services/platform_channel.dart:165
E/flutter (28894): <asynchronous suspension>
E/flutter (28894): #1 ImageDownloader.downloadImage (package:image_downloader/image_downloader.dart:31:12)
E/flutter (28894): <asynchronous suspension>
E/flutter (28894): #2 _SurveyTicketState.openQrLink
package:onesmile/…/survey/survey_ticket.dart:45
E/flutter (28894): <asynchronous suspension>
E/flutter (28894):
this is my code
downloadImage() async {
var url = 'https://images.unsplash.com/photo-1644982647970-e72b0397e57b?ixlib=rb-1.2.1&raw_url=true&q=80&fm=jpg&crop=entropy&cs=tinysrgb&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=435';
try {
var imageId = await ImageDownloader.downloadImage(url);
if (imageId == null) {
return;
}
var path = await ImageDownloader.findPath(imageId);
} on PlatformException catch (error) {
print('======== $error');
}
}

Related

Unsupported operation: Cannot modify an unmodifiable list

I need help.
I'm trying to extract files from an archive.
var byteData = await rootBundle.load('assets/res.zip');
var buffer = byteData.buffer;
var archive = ZipDecoder().decodeBytes(buffer.asUint8List(),
verify: true, password: '123');
for (final file in archive) {
final filename = file.name;
if (file.isFile) {
final data = file.content as List<int>;
File('$tempPath/files/$filename')
..createSync(recursive: true)
..writeAsBytesSync(data);
} else {
Directory('$tempPath/files/$filename').create(recursive: true);
}
}
But I'm getting this error..................
E/flutter ( 8813): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Unsupported operation: Cannot modify an unmodifiable list
E/flutter ( 8813): #0 _UnmodifiableUint8ArrayView.[]= (dart:typed_data-patch/typed_data_patch.dart:5391:5)
E/flutter ( 8813): #1 ZipFile._decodeZipCrypto (package:archive/src/zip/zip_file.dart:192:12)
E/flutter ( 8813): #2 ZipFile.content (package:archive/src/zip/zip_file.dart:129:27)
E/flutter ( 8813): #3 ZipDecoder.decodeBuffer (package:archive/src/zip_decoder.dart:32:41)
E/flutter ( 8813): #4 ZipDecoder.decodeBytes (package:archive/src/zip_decoder.dart:16:12)
E/flutter ( 8813): #5 _HomePageState.dataWriteToLocal (package:mytest/Pages/home_page.dart:417:36)
E/flutter ( 8813): <asynchronous suspension>

Firebase Messaging requestPermission Unhandled Exception: [firebase_messaging/unknown] Attempt to invoke virtual method on a null object reference

I have a simple function to request Permission for Firebase Messaging
Future requestPermissionFCM() async {
final FirebaseMessaging messaging = FirebaseMessaging.instance;
final NotificationSettings settings = await messaging.requestPermission();
if (settings.authorizationStatus == AuthorizationStatus.authorized) {
print('User granted permision');
} else if (settings.authorizationStatus == AuthorizationStatus.provisional) {
print('User granted provisional permission');
} else {
print('user declined or has not accepted permission');
}
}
I call in during initState in main.dart
and exactly this line
final NotificationSettings settings = await messaging.requestPermission();
causes the Unhandled Exception
E/flutter (11771): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: [firebase_messaging/unknown] Attempt to invoke virtual method 'java.lang.Object android.content.Context.getSystemService(java.lang.String)' on a null object reference
E/flutter (11771): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653:7)
E/flutter (11771): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:315:18)
E/flutter (11771): <asynchronous suspension>
E/flutter (11771): #2 MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart:518:43)
E/flutter (11771): <asynchronous suspension>
E/flutter (11771): #3 MethodChannelFirebaseMessaging.requestPermission (package:firebase_messaging_platform_interface/src/method_channel/method_channel_messaging.dart:271:36)
E/flutter (11771): <asynchronous suspension>
E/flutter (11771): #4 requestPermissionFCM (package:dev/services/fcm_services.dart:30:41)
E/flutter (11771): <asynchronous suspension>
Despite this exception, the app does not crush and messaging works as it should be including background push notifications. So what can it be?

an unknown error while using FirebaseAuth.instance.signInWithCredential

Getting a weird error while using signInWithCredential(), but I am able to sign in by signInAnonymously()
Have tried searching and remaking app in facebookDeveloper account.
My Function:
Future<UserCredential> _signInWithFacebook() async {
final loginResult = await FacebookAuth.instance.login(permissions: [
'email',
'public_profile',
]);
if (loginResult.status == LoginStatus.success) {
final accessToken = loginResult.accessToken!.token;
final OAuthCredential credential =
FacebookAuthProvider.credential(accessToken);
return await FirebaseAuth.instance
.signInWithCredential(credential)
.then((value) {
Navigator.pushReplacementNamed(context, '/home');
return value;
});
} else {
return FirebaseAuth.instance.signInAnonymously();
}
}
Error:
FLTFirebaseAuth: An error occurred while calling method Auth#signInWithCredential, errorOrNil => (null)
[VERBOSE-2:ui_dart_state.cc(198)] Unhandled Exception: [firebase_auth/unknown] An unknown error has occurred.
#0 StandardMethodCodec.decodeEnvelope
package:flutter/…/services/message_codecs.dart:607
#1 MethodChannel._invokeMethod
package:flutter/…/services/platform_channel.dart:167
<asynchronous suspension>
#2 MethodChannel.invokeMapMethod
package:flutter/…/services/platform_channel.dart:367
<asynchronous suspension>
#3 MethodChannelFirebaseAuth.signInWithCredential
package:firebase_auth_platform_interface/…/method_channel/method_channel_firebase_auth.dart:433
<asynchronous suspension>
#4 FirebaseAuth.signInWithCredential
package:firebase_auth/src/firebase_auth.dart:497
<asynchronous suspension>
The following steps can be helpful if you haven't tried it yet -
Check if the firebase app is instantiated at the beginning -> .initializeApp()
Firebase Auth doesn't work without initialization
If the above two doesn't work, replace google-services.json with a new one. Do a clean build

Null Check operator used on a null value on flutter with Sqflite

I'm studying flutter with Sqflite and trying to make a small app, but I'm getting this error when I run the code, I've looked literaly everywhere to findout what it could be.
Here the code code who use the Sqflite package:
Future<Database> getDatabase() async {
final String path = join(await getDatabasesPath(), 'bytebank.db');
return openDatabase(path, onCreate: (db, version) {
db.execute('CREATE TABLE contacts'
'(id INTEGER PRIMARY KEY, '
'name TEXT, '
'account_number INTEGER)');
}, version: 1);
}
Future<int> save(Contact contact) async {
final Database db = await getDatabase();
final Map<String, dynamic> contactMap = Map();
contactMap['name'] = contact.name;
contactMap['account_number'] = contact.account;
contactMap['id'] = contact.id;
return db.insert('contacts', contactMap);
}
Future<List<Contact>> findAll() async {
final Database db = await getDatabase();
final List<Map<String, dynamic>> result = await db.query('contacts');
final List<Contact> contacts = [];
for (Map<String, dynamic> row in result) {
final Contact contact = Contact(
row['id'],
row['name'],
row['account_number'],
);
contacts.add(contact);
}
return contacts;
}
And here is the only one place where I use This functions:
void main() {
save(Contact('William', 2, 13456)).then((id) {
findAll().then((contacts) => print(contacts));
});
runApp(ByteBankApp());
}
Model Class:
class Contact {
final String name;
final int account;
final int id;
Contact( this.id,
this.name,
this.account,
);
#override
String toString() {
return 'Contact{name: $name, account: $account}';
}
}
Error Trace back:
Launching lib\main.dart on sdk gphone x86 arm in debug mode...
Running Gradle task 'assembleDebug'...
√ Built build\app\outputs\flutter-apk\app-debug.apk.
Installing build\app\outputs\flutter-apk\app.apk...
Debug service listening on ws://127.0.0.1:52296/07rtnvW9tlQ=/ws
Syncing files to device sdk gphone x86 arm...
E/flutter (28649): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Null check operator used on a null value
E/flutter (28649): #0 MethodChannel.binaryMessenger (package:flutter/src/services/platform_channel.dart:142:86)
E/flutter (28649): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:148:36)
E/flutter (28649): #2 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:331:12)
E/flutter (28649): #3 invokeMethod (package:sqflite/src/sqflite_impl.dart:17:13)
E/flutter (28649): #4 SqfliteDatabaseFactoryImpl.invokeMethod (package:sqflite/src/factory_impl.dart:82:7)
E/flutter (28649): #5 SqfliteDatabaseFactoryMixin.safeInvokeMethod.<anonymous closure> (package:sqflite_common/src/factory_mixin.dart:41:38)
E/flutter (28649): #6 wrapDatabaseException (package:sqflite/src/exception_impl.dart:7:32)
E/flutter (28649): #7 SqfliteDatabaseFactoryImpl.wrapDatabaseException (package:sqflite/src/factory_impl.dart:78:7)
E/flutter (28649): #8 SqfliteDatabaseFactoryMixin.safeInvokeMethod (package:sqflite_common/src/factory_mixin.dart:41:7)
E/flutter (28649): #9 SqfliteDatabaseFactoryMixin.getDatabasesPath (package:sqflite_common/src/factory_mixin.dart:153:26)
E/flutter (28649): #10 getDatabasesPath (package:sqflite/sqflite.dart:161:54)
E/flutter (28649): #11 getDatabase (package:bytebank/database/app_database.dart:6:34)
E/flutter (28649): #12 save (package:bytebank/database/app_database.dart:16:29)
E/flutter (28649): #13 main (package:bytebank/main.dart:7:3)
E/flutter (28649): #14 _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:142:25)
E/flutter (28649): #15 _rootRun (dart:async/zone.dart:1354:13)
E/flutter (28649): #16 _CustomZone.run (dart:async/zone.dart:1258:19)
E/flutter (28649): #17 _runZoned (dart:async/zone.dart:1789:10)
E/flutter (28649): #18 runZonedGuarded (dart:async/zone.dart:1777:12)
E/flutter (28649): #19 _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:138:5)
E/flutter (28649): #20 _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:283:19)
E/flutter (28649): #21 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
E/flutter (28649):
I am not sure if will help, but I was running into a similar issue when initializing a database in an async "main" method. Adding the following:
WidgetsFlutterBinding.ensureInitialized();
inside the method before the code initializing the database solved the problem.

Unhandled Exception: NoSuchMethodError: The method 'call' was called on null

I upgraded the flutter sdk by flutter upgrade --force. The project was working fine before upgrade but I am getting error after upgrade. I am currently working in lastest stable version of flutter.
E/flutter (17687): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: NoSuchMethodError: The method 'call' was called on null.
E/flutter (17687): Receiver: null
E/flutter (17687): Tried calling: call()
E/flutter (17687): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
E/flutter (17687): #1 BasicLock.synchronized (package:synchronized/src/basic_lock.dart:31:24)
E/flutter (17687): #2 SembastDatabase.flush (package:sembast/src/database_impl.dart:593:27)
E/flutter (17687): #3 SembastDatabase.open (package:sembast/src/database_impl.dart:879:11)
E/flutter (17687): <asynchronous suspension>
E/flutter (17687): #4 DatabaseOpenHelper.openDatabase.<anonymous closure> (package:sembast/src/database_factory_mixin.dart:80:7)
E/flutter (17687): <asynchronous suspension>
E/flutter (17687): #5 BasicLock.synchronized (package:synchronized/src/basic_lock.dart:33:16)
E/flutter (17687): <asynchronous suspension>
E/flutter (17687): #6 DaoDatabase._openDatabase (package:kitabyatra/db/DaoDatabase.dart:43:26)
E/flutter (17687): <asynchronous suspension>
I have implemented as follows:
class DaoDatabase {
DaoDatabase();
static final DaoDatabase _singleton = DaoDatabase();
static DaoDatabase get instance => _singleton;
Completer<Database> _dbOpenCompleter;
Future<Database> get database async {
if (_dbOpenCompleter == null) {
_dbOpenCompleter = Completer<Database>();
_openDatabase();
}
return _dbOpenCompleter.future;
}
Future<dynamic> _openDatabase() async {
final Directory appDocumentDir = await getApplicationDocumentsDirectory();
final String dbPath = join(appDocumentDir.path, Strings.appDbName);
final Database database = await databaseFactoryIo.openDatabase(dbPath); //--> Getting error here
_dbOpenCompleter.complete(database);
}
}