flutter_foreground_service_plugin
You Can Do this plugin with..
- Start Foreground Service (with callback)
- Stop Foreground Service (with callback)
- Using infinite interval on your configurations
- Change Notification title and contents
You Can Not Do this plugin with...
If you use this plugin.
- Add dependency to your pubspec.yaml
dependencies:
...
flutter_foreground_plugin: ^0.6.0 # For Flutter 1
flutter_foreground_plugin: ^0.8.0 # For Flutter 2 null safety
- Add permission for ForegroundService to AndroidManifest.xml
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
- Add service for ForegroundService to AndroidManifest.xml below
</activity>
<service android:name="changjoopark.com.flutter_foreground_plugin.FlutterForegroundService"/>
- Add use-sdk under
application
<uses-sdk
android:minSdkVersion="23"
tools:overrideLibrary="changjoopark.com.flutter_foreground_plugin" />
- Add icon image for notification.
Notification Icon Generator will be helpful.
path: android/app/src/main/res/drawable-*
- Write code for foreground service
void main() {
runApp(MyApp());
startForegroundService();
// if you need to stop foreground service,
// await FlutterForegroundPlugin.stopForegroundService();
}
void startForegroundService() async {
await FlutterForegroundPlugin.setServiceMethodInterval(seconds: 5);
await FlutterForegroundPlugin.setServiceMethod(globalForegroundService);
await FlutterForegroundPlugin.startForegroundService(
holdWakeLock: false,
onStarted: () {
print("Foreground on Started");
},
onStopped: () {
print("Foreground on Stopped");
},
title: "Flutter Foreground Service",
content: "This is Content",
iconName: "ic_stat_hot_tub",
);
}
void globalForegroundService() {
debugPrint("current datetime is ${DateTime.now()}");
}