Open Deepakraj2022 opened 3 months ago
Hi I am developing an app which should fetch and upload data using Dio. When I use Dio.Get() or Dio.Push(), workmanager thread is closed abruptly. I tried to catch the exception but I am unable catch any exception. I am adding code below
AndroidManifest
<receiver android:name="be.tramckrijte.workmanager.BackgroundWorker" android:permission="android.permission.BIND_JOB_SERVICE" android:exported="true"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.REBOOT" /> <action android:name="android.intent.action.MY_PACKAGE_REPLACED" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> <service android:name="id.flutter.flutter_background_service.BackgroundService" android:permission="android.permission.BIND_JOB_SERVICE" android:exported="true" android:foregroundServiceType="dataSync"> </service>
main.dart
void main() async { ..... Workmanager().initialize( _callbackDispatcher_, isInDebugMode: true ); .... }
void callbackDispatcher() {
try { Workmanager().executeTask((task, inputData) async { switch (task) { case 'simpleTask': print('Simple Task executed'); break; case 'uploadJob': await WorkManagerJob().GetExportSetting(inputData); break; // Handle other tasks } return Future.value(true); }); } catch (exce) { print(exce); } }
WorkManagerJob.Dart
GetExportSetting(Map<String, dynamic>? data) { int inspectionKey = data!['inspectionKey']; Global.currentLogin = LoginModel(); Global.currentLogin!.token = data['token']; Global.currentLogin!.account = data['account']; Global.currentLogin!.server = data['server']; final url = Uri.parse(Global.apiUrl + "api/GetExportSettings"); try { final response = await http.get( url, headers: <String, String>{ 'Content-Type': 'application/json; charset=UTF-8', '"Access-Control-Allow-Origin"': "*", 'x-functions-key': Global.functionKey, 'AccountAlias': Global.currentLogin!.account!, 'token': Global.currentLogin!.token!, }, ); if (response.statusCode == 200) { final jsonResponse = jsonDecode(response.body); } else {} } catch (e) { print(e.toString()); } }
Can you try running this verbose mode and share the app-package logs. @Deepakraj2022
Hi I am developing an app which should fetch and upload data using Dio. When I use Dio.Get() or Dio.Push(), workmanager thread is closed abruptly. I tried to catch the exception but I am unable catch any exception. I am adding code below
AndroidManifest
main.dart
void callbackDispatcher() {
WorkManagerJob.Dart