In my "java" application, I have this code in my getDataFromServer() function (Which is called by my WorkManager every 2 hours and my MainActivity Onrefresh() ) in order to update my homescreen widget with fresh data:
AppWidgetManager.getInstance(context).getAppWidgetIds(
new ComponentName(context,MyWidgetProvider.class));
Intent updateIntent = new Intent();
updateIntent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
updateIntent.putExtra(MyWidgetProvider.WIDGET_ID_KEY, ids);
context.sendBroadcast(updateIntent);
This will make my ,MyAppWidgetProvider to "wake up", to read the fresh data from a file and update.
Now, I have moved my logic to Flutter, and I have no idea how to call this code from my Dart code.
Any suggestion?
You can reference package https://pub.dev/packages/home_widget
In native part https://github.com/ABausG/home_widget/blob/3de5ff703e9f8f7700036a23e609e0627976f904/android/src/main/kotlin/es/antonborri/home_widget/HomeWidgetPlugin.kt#L61
In Dart part for
Background Updatehttps://pub.dev/packages/home_widget#background-update
As the methods of
HomeWidgetare static it is possible to useHomeWidgetin the background to update the Widget even when the App is in the background.The example App is using the
flutter_workmanagerplugin to achieve thishttps://github.com/ABausG/home_widget/blob/3de5ff703e9f8f7700036a23e609e0627976f904/example/lib/main.dart#L10