diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 00000000..d3c690d2
Binary files /dev/null and b/.DS_Store differ
diff --git a/.github/workflows/pub.yml b/.github/workflows/pub.yml
new file mode 100644
index 00000000..2aeebc1e
--- /dev/null
+++ b/.github/workflows/pub.yml
@@ -0,0 +1,49 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
+name: Pub
+
+on:
+ push:
+ branches: [ "master" ]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - name: Prepare credentials
+ run: |
+ mkdir ~/.config/dart
+ echo ${{ secrets.PUB_CREDENTIAL }} | base64 --decode > ~/.config/dart/pub-credentials.json
+ - name: Setup git
+ run: |
+ git config --local user.email "mr.poetra22@gmail.com"
+ git config --local user.name "Eka Setiawan Saputra"
+ - name: Install Flutter
+ id: install
+ continue-on-error: true
+ uses: subosito/flutter-action@v1
+ with:
+ channel: "stable"
+ - name: 'Get Dependencies'
+ run: flutter pub get
+ - name: 'Install melos'
+ run: dart pub global activate melos
+ - name: 'Update versions'
+ run: melos version --yes
+
+ - name: Push changes
+ uses: ad-m/github-push-action@master
+ with:
+ github_token: ${{ secrets.GIT_PAT }}
+ branch: master
+ tags: true
+
+ - name: 'Publish to pub.dev'
+ run: melos publish --no-dry-run -y
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
deleted file mode 100644
index 11b72fa3..00000000
--- a/.github/workflows/publish.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-# This workflow uses actions that are not certified by GitHub.
-# They are provided by a third-party and are governed by
-# separate terms of service, privacy policy, and support
-# documentation.
-
-name: Pub Publish
-
-on:
- push:
- tags:
- - v0.*
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Set env
- run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV
-
- - uses: actions/checkout@v2
- - name: Install Java
- uses: actions/setup-java@v1
- with:
- java-version: "12.x"
-
- - name: Install Flutter
- uses: subosito/flutter-action@v1
- with:
- channel: "stable"
-
- - name: Flutter Pub Get
- run: flutter pub get
-
- - name: Evaluate version
- run: flutter pub run bin/update
-
- - name: Prepare pub credentials
- run: |
- mkdir -p $XDG_CONFIG_HOME/.config/dart
- echo '${{ secrets.PUB_CREDENTIAL }}' > "$XDG_CONFIG_HOME/dart/pub-credentials.json"
-
- - name: Publish
- run: flutter pub publish -f
diff --git a/.gitignore b/.gitignore
index 899ae641..014f0465 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,2 @@
-.DS_Store
-.dart_tool/
-
-.packages
-.pub/
-
-build/
-pubspec.lock
-.idea/
+**/pubspec_overrides.yaml
+.dart_tool/**
\ No newline at end of file
diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 00000000..d1c9e343
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+flutter_background_service
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 00000000..7529a37f
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/melos_bootstrap.xml b/.idea/runConfigurations/melos_bootstrap.xml
new file mode 100644
index 00000000..d5715306
--- /dev/null
+++ b/.idea/runConfigurations/melos_bootstrap.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.idea/runConfigurations/melos_clean.xml b/.idea/runConfigurations/melos_clean.xml
new file mode 100644
index 00000000..f45d4362
--- /dev/null
+++ b/.idea/runConfigurations/melos_clean.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.idea/runConfigurations/melos_flutter_run_example.xml b/.idea/runConfigurations/melos_flutter_run_example.xml
new file mode 100644
index 00000000..d408ded3
--- /dev/null
+++ b/.idea/runConfigurations/melos_flutter_run_example.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/melos_flutter_test_flutter_background_service.xml b/.idea/runConfigurations/melos_flutter_test_flutter_background_service.xml
new file mode 100644
index 00000000..c332a2fe
--- /dev/null
+++ b/.idea/runConfigurations/melos_flutter_test_flutter_background_service.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/melos_flutter_test_flutter_background_service_android.xml b/.idea/runConfigurations/melos_flutter_test_flutter_background_service_android.xml
new file mode 100644
index 00000000..ef784c15
--- /dev/null
+++ b/.idea/runConfigurations/melos_flutter_test_flutter_background_service_android.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/melos_flutter_test_flutter_background_service_ios.xml b/.idea/runConfigurations/melos_flutter_test_flutter_background_service_ios.xml
new file mode 100644
index 00000000..bd5e27b4
--- /dev/null
+++ b/.idea/runConfigurations/melos_flutter_test_flutter_background_service_ios.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/melos_flutter_test_flutter_background_service_platform_interface.xml b/.idea/runConfigurations/melos_flutter_test_flutter_background_service_platform_interface.xml
new file mode 100644
index 00000000..66687e44
--- /dev/null
+++ b/.idea/runConfigurations/melos_flutter_test_flutter_background_service_platform_interface.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/melos_run_postclean.xml b/.idea/runConfigurations/melos_run_postclean.xml
new file mode 100644
index 00000000..c73b4a2e
--- /dev/null
+++ b/.idea/runConfigurations/melos_run_postclean.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 00000000..6c73580b
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,26 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Flutter: Attach to Device",
+ "type": "dart",
+ "request": "attach"
+ },
+ {
+ "name": "example",
+ "cwd": "packages/flutter_background_service/example",
+ "request": "launch",
+ "type": "dart"
+ },
+ {
+ "name": "example (release)",
+ "cwd": "packages/flutter_background_service/example",
+ "request": "launch",
+ "type": "dart",
+ "flutterMode": "release"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 7a73a41b..7f69797d 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,2 +1,3 @@
{
+ "dart.runPubGetOnPubspecChanges": false
}
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 44d76d7f..18732fb2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,134 +1,1928 @@
-## 0.2.6
-* FIX: (Android) flutter initialization
-## 0.2.5
-* FIX: (iOS) using other plugins
-## 0.2.4
-* FIX: (Android) run service background when charger not connected and screen lock (#92)
-## 0.2.3
-* ADDED: Using `BGTaskScheduler` on iOS 13. See readme for configuration.
-## 0.2.2
-* ADDED: `autoStart` to `IosConfiguration`
-## 0.2.1
-* UPDATE README
-* UPDATE: Flutter Version Constraint
-## 0.2.0+1
-* UPDATE README
+# Change Log
-## 0.2.0
-* [BREAKING]: FlutterBackgroundService.initialize renamed to FlutterBackgroundService.configure
-* [BREAKING]: use FlutterBackgroundService.start to start or restart after you call stopService.
-* [ADDED]: IOS Background fetch is now supported you have to enable background fetch from xcode.
-## 0.1.7
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
-* Fix : cannot start service on android 12
-* Fix : not started on boot completed
-## 0.1.6
+## 2025-07-25
-* Android 12 Compatibility Changes
-## 0.1.5
+### Changes
-* Rollback foreground notification importance
-## 0.1.4
+---
-* fixes UnsatisfiedLinkError when running as foreground service with autostart #32
-## 0.1.3
+Packages with breaking changes:
-* Fix notification not showing on android 7 and prior (Issue #26)
-## 0.1.2
+ - There are no breaking changes in this release.
-* Open app from notification (Issue #30)
-## 0.1.1
+Packages with other changes:
-* Fix #29 (DartVM not terminated when service stop)
+ - [`flutter_background_service_android` - `v6.3.1`](#flutter_background_service_android---v631)
+ - [`flutter_background_service` - `v5.1.1`](#flutter_background_service---v511)
-## 0.1.0
+Packages with dependency updates only:
-* Bump flutter 2
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
-## 0.1.0-nullsafety.2
+ - `flutter_background_service` - `v5.1.1`
-* Fix #23
+---
-## 0.1.0-nullsafety.1
+#### `flutter_background_service_android` - `v6.3.1`
-* Added isServiceRunning on iOS (issue #19)
+ - **FIX**(android): add namespace to support AGP 8.0+. ([76b0c396](https://github.com/ekasetiawans/flutter_background_service/commit/76b0c3960e2e65b5be8c60a2de0b7c0565691769))
+ - **FIX**: manually disabling Alarms & reminders permission on Android 12 causes an exception when starting service on reboot. ([135fed1f](https://github.com/ekasetiawans/flutter_background_service/commit/135fed1f3a49b5c674718a112beb2ca71a19d1b0))
-## 0.1.0-nullsafety.0
-* Added support to nullsafety
+## 2025-07-25
-## 0.0.1+18
+### Changes
-* Added stopService Method(Currently Works on Android Only).
+---
-## 0.0.1+17
+Packages with breaking changes:
-* Add preference autoStart on Boot, default is true.
+ - There are no breaking changes in this release.
-## 0.0.1+16
+Packages with other changes:
-* Set Foreground Mode to false will remove notification. BugFix #4.
+ - [`flutter_background_service_android` - `v6.3.1`](#flutter_background_service_android---v631)
+ - [`flutter_background_service` - `v5.1.1`](#flutter_background_service---v511)
-## 0.0.1+15
+Packages with dependency updates only:
-* Add ability to change Background or Foreground mode (Android Only)
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
-## 0.0.1+14
+ - `flutter_background_service` - `v5.1.1`
-* Bugfix BootReceiver
+---
-## 0.0.1+13
+#### `flutter_background_service_android` - `v6.3.1`
-* Update example for iOS support.
+ - **FIX**(android): add namespace to support AGP 8.0+. ([76b0c396](https://github.com/ekasetiawans/flutter_background_service/commit/76b0c3960e2e65b5be8c60a2de0b7c0565691769))
+ - **FIX**: manually disabling Alarms & reminders permission on Android 12 causes an exception when starting service on reboot. ([135fed1f](https://github.com/ekasetiawans/flutter_background_service/commit/135fed1f3a49b5c674718a112beb2ca71a19d1b0))
-## 0.0.1+12
-* Start service immediately after initialize
+## 2024-12-21
-## 0.0.1+11
+### Changes
-* iOS
+---
-## 0.0.1+10
+Packages with breaking changes:
-* bug fix
+ - There are no breaking changes in this release.
-## 0.0.1+9
+Packages with other changes:
-* bug fix
+ - [`flutter_background_service` - `v5.1.0`](#flutter_background_service---v510)
+ - [`flutter_background_service_android` - `v6.3.0`](#flutter_background_service_android---v630)
-## 0.0.1+8
+---
-* bug fix
+#### `flutter_background_service` - `v5.1.0`
-## 0.0.1+7
+ - **FEAT**: remove unused imports. ([d0bbb433](https://github.com/ekasetiawans/flutter_background_service/commit/d0bbb43312877af51b5403c6fc42dd9ec2a44789))
-* Add ability to send data from UI to Service
+#### `flutter_background_service_android` - `v6.3.0`
-## 0.0.1+6
+ - **FEAT**: remove unused imports. ([d0bbb433](https://github.com/ekasetiawans/flutter_background_service/commit/d0bbb43312877af51b5403c6fc42dd9ec2a44789))
-* Improve stability
-## 0.0.1+5
+## 2024-12-21
-* Add ability to send data from service to UI
+### Changes
-## 0.0.1+4
+---
-* Update README
+Packages with breaking changes:
-## 0.0.1+3
+ - There are no breaking changes in this release.
-* Add ability to change notification info (Android foreground service)
+Packages with other changes:
-## 0.0.1+2
+ - [`flutter_background_service` - `v5.1.0`](#flutter_background_service---v510)
+ - [`flutter_background_service_android` - `v6.3.0`](#flutter_background_service_android---v630)
-* Fix android missing plugin implementation
+---
-## 0.0.1+1
+#### `flutter_background_service` - `v5.1.0`
-* Fix android build
+ - **FEAT**: remove unused imports. ([d0bbb433](https://github.com/ekasetiawans/flutter_background_service/commit/d0bbb43312877af51b5403c6fc42dd9ec2a44789))
-## 0.0.1
+#### `flutter_background_service_android` - `v6.3.0`
+
+ - **FEAT**: remove unused imports. ([d0bbb433](https://github.com/ekasetiawans/flutter_background_service/commit/d0bbb43312877af51b5403c6fc42dd9ec2a44789))
+
+
+## 2024-08-29
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v6.2.7`](#flutter_background_service_android---v627)
+ - [`flutter_background_service` - `v5.0.10`](#flutter_background_service---v5010)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v5.0.10`
+
+---
+
+#### `flutter_background_service_android` - `v6.2.7`
+
+ - **BUG**: service crash due to START_STICKY. ([a000a6ba](https://github.com/ekasetiawans/flutter_background_service/commit/a000a6bae974de543c9f37275e2aab177c197339))
+
+
+## 2024-08-25
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_platform_interface` - `v5.1.2`](#flutter_background_service_platform_interface---v512)
+ - [`flutter_background_service` - `v5.0.9`](#flutter_background_service---v509)
+ - [`flutter_background_service_android` - `v6.2.6`](#flutter_background_service_android---v626)
+ - [`flutter_background_service_ios` - `v5.0.3`](#flutter_background_service_ios---v503)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v5.0.9`
+ - `flutter_background_service_android` - `v6.2.6`
+ - `flutter_background_service_ios` - `v5.0.3`
+
+---
+
+#### `flutter_background_service_platform_interface` - `v5.1.2`
+
+ - **FIX**: fix lints. ([95186405](https://github.com/ekasetiawans/flutter_background_service/commit/95186405f2d60112ff83956bce345ebbbc332ad7))
+
+
+## 2024-08-25
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v5.0.8`](#flutter_background_service---v508)
+ - [`flutter_background_service_android` - `v6.2.5`](#flutter_background_service_android---v625)
+
+---
+
+#### `flutter_background_service` - `v5.0.8`
+
+ - **FIX**: lints. ([7b63fca4](https://github.com/ekasetiawans/flutter_background_service/commit/7b63fca4e97941b2891570bd80701c7bb98cda23))
+
+#### `flutter_background_service_android` - `v6.2.5`
+
+ - **FIX**: lints. ([7b63fca4](https://github.com/ekasetiawans/flutter_background_service/commit/7b63fca4e97941b2891570bd80701c7bb98cda23))
+
+
+## 2024-08-03
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v5.0.7`](#flutter_background_service---v507)
+ - [`flutter_background_service_android` - `v6.2.4`](#flutter_background_service_android---v624)
+ - [`flutter_background_service_platform_interface` - `v5.1.1`](#flutter_background_service_platform_interface---v511)
+ - [`flutter_background_service_ios` - `v5.0.2`](#flutter_background_service_ios---v502)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service_ios` - `v5.0.2`
+
+---
+
+#### `flutter_background_service` - `v5.0.7`
+
+ - **FIX**: fix crash on android 14 after starting foreground service. ([4bdc46d9](https://github.com/ekasetiawans/flutter_background_service/commit/4bdc46d951febafbcbb2b118324cddc2b30ad752))
+
+#### `flutter_background_service_android` - `v6.2.4`
+
+ - **FIX**: fix crash on android 14 after starting foreground service. ([4bdc46d9](https://github.com/ekasetiawans/flutter_background_service/commit/4bdc46d951febafbcbb2b118324cddc2b30ad752))
+
+#### `flutter_background_service_platform_interface` - `v5.1.1`
+
+ - **FIX**: fix crash on android 14 after starting foreground service. ([4bdc46d9](https://github.com/ekasetiawans/flutter_background_service/commit/4bdc46d951febafbcbb2b118324cddc2b30ad752))
+
+
+## 2024-06-18
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_platform_interface` - `v5.1.0`](#flutter_background_service_platform_interface---v510)
+ - [`flutter_background_service` - `v5.0.6`](#flutter_background_service---v506)
+ - [`flutter_background_service_android` - `v6.2.3`](#flutter_background_service_android---v623)
+ - [`flutter_background_service_ios` - `v5.0.1`](#flutter_background_service_ios---v501)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v5.0.6`
+ - `flutter_background_service_android` - `v6.2.3`
+ - `flutter_background_service_ios` - `v5.0.1`
+
+---
+
+#### `flutter_background_service_platform_interface` - `v5.1.0`
+
+ - **FEAT**: updated dependencies. ([e90ad787](https://github.com/ekasetiawans/flutter_background_service/commit/e90ad787b3a7b157aeeec3a45920839aafe2933d))
+
+
+## 2023-11-30
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v5.0.5`](#flutter_background_service---v505)
+ - [`flutter_background_service_android` - `v6.2.2`](#flutter_background_service_android---v622)
+
+---
+
+#### `flutter_background_service` - `v5.0.5`
+
+ - **FIX**: android build error. ([8102e015](https://github.com/ekasetiawans/flutter_background_service/commit/8102e01563b967cea588a09b8a9773fc56b0dd2c))
+
+#### `flutter_background_service_android` - `v6.2.2`
+
+ - **FIX**: android build error. ([8102e015](https://github.com/ekasetiawans/flutter_background_service/commit/8102e01563b967cea588a09b8a9773fc56b0dd2c))
+
+
+## 2023-11-18
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v6.2.1`](#flutter_background_service_android---v621)
+ - [`flutter_background_service` - `v5.0.4`](#flutter_background_service---v504)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v5.0.4`
+
+---
+
+#### `flutter_background_service_android` - `v6.2.1`
+
+ - **FIX**: checks methodChanel's nullabilty inside MainHandler.post. ([cd0d098f](https://github.com/ekasetiawans/flutter_background_service/commit/cd0d098f76fb9e211ab5db1a08f19cfd21827b30))
+ - **FIX**: removes listener before turn methodChannel null. ([7909b51c](https://github.com/ekasetiawans/flutter_background_service/commit/7909b51cafbf6e79ad0f875e73889ad1b2b5fc34))
+
+
+## 2023-11-06
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v6.2.0`](#flutter_background_service_android---v620)
+ - [`flutter_background_service` - `v5.0.3`](#flutter_background_service---v503)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v5.0.3`
+
+---
+
+#### `flutter_background_service_android` - `v6.2.0`
+
+ - **FEAT**: throw an error if using FlutterBackgroundService class in worker isolate. ([9a5732ce](https://github.com/ekasetiawans/flutter_background_service/commit/9a5732cef65ce5b33e699569cd88c98521c002ac))
+
+
+## 2023-10-19
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v6.1.0`](#flutter_background_service_android---v610)
+ - [`flutter_background_service` - `v5.0.2`](#flutter_background_service---v502)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v5.0.2`
+
+---
+
+#### `flutter_background_service_android` - `v6.1.0`
+
+ - **FEAT**: throw an error if using FlutterBackgroundService class in worker isolate. ([d09843f8](https://github.com/ekasetiawans/flutter_background_service/commit/d09843f82a6d4a9ef19529ab27701ab68f68ee7c))
+
+
+## 2023-08-14
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v6.0.1`](#flutter_background_service_android---v601)
+ - [`flutter_background_service` - `v5.0.1`](#flutter_background_service---v501)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v5.0.1`
+
+---
+
+#### `flutter_background_service_android` - `v6.0.1`
+
+ - **FIX**: service do not connect to dart side after destroy by xiaomi boost memory. ([a04d3a75](https://github.com/ekasetiawans/flutter_background_service/commit/a04d3a75ca0a8e4683802b0a01e41b0dd50ba37b))
+
+
+## 2023-08-11
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - [`flutter_background_service` - `v5.0.0`](#flutter_background_service---v500)
+ - [`flutter_background_service_android` - `v6.0.0`](#flutter_background_service_android---v600)
+ - [`flutter_background_service_ios` - `v5.0.0`](#flutter_background_service_ios---v500)
+ - [`flutter_background_service_platform_interface` - `v5.0.0`](#flutter_background_service_platform_interface---v500)
+
+Packages with other changes:
+
+ - There are no other changes in this release.
+
+---
+
+#### `flutter_background_service` - `v5.0.0`
+
+ - **REFACTOR**: improve android performances. ([13f73a86](https://github.com/ekasetiawans/flutter_background_service/commit/13f73a86e9c1cc0c5fc46a757992e24219d03715))
+ - **REFACTOR**: split code into separate class. ([678226ba](https://github.com/ekasetiawans/flutter_background_service/commit/678226ba08966303713faa718f5a9b46e448c5d1))
+ - **REFACTOR**: fix sampe project dependency version. ([a83b9f62](https://github.com/ekasetiawans/flutter_background_service/commit/a83b9f62dd0d16f8bd23657ef1f36cb7d51fb0fa))
+ - **REFACTOR**: initialize melos. ([00bf06da](https://github.com/ekasetiawans/flutter_background_service/commit/00bf06da1ca1f4554edaabbd108c59f34b02c611))
+ - **PERF**: improve handle app refresh ios. ([48e333d7](https://github.com/ekasetiawans/flutter_background_service/commit/48e333d708cb8296c8e6bf1bb151c7cbd95ea7ee))
+ - **FIX**: ios onBackground. ([4eb6b70d](https://github.com/ekasetiawans/flutter_background_service/commit/4eb6b70d005d43079fa53989a1352ae153ea03ae))
+ - **FIX**: added @pragma. ([0f90cc7d](https://github.com/ekasetiawans/flutter_background_service/commit/0f90cc7d6f1ae9b0e2ab6132151e27b88814afe1))
+ - **FIX**: using Runnable instead of lambda. ([9cda867d](https://github.com/ekasetiawans/flutter_background_service/commit/9cda867d8f2dc84cf1f7f112a3e87b1fa7dc1d3d))
+ - **FIX**: wrong dependency version. ([34e66e13](https://github.com/ekasetiawans/flutter_background_service/commit/34e66e13f04afe760d7b4087cc7052756dcb2a9c))
+ - **FIX**: errors. ([13a6f841](https://github.com/ekasetiawans/flutter_background_service/commit/13a6f841f5d677ceb0010e8ba1bf9d7af53adbcf))
+ - **FIX**: podspec. ([b46f9a3f](https://github.com/ekasetiawans/flutter_background_service/commit/b46f9a3f425f66e6bda34650e713da299f922a73))
+ - **FIX**: dependencies version. ([4e89b5e9](https://github.com/ekasetiawans/flutter_background_service/commit/4e89b5e9e5aa55074e1b10b41ea057c4b1b0bfcb))
+ - **FEAT**: enhance notification icon readme. ([52e7e6ea](https://github.com/ekasetiawans/flutter_background_service/commit/52e7e6ea8bdff67924d93ce716b395bdbba2a48b))
+ - **FEAT**: enhance notification icon readme. ([4d699fb0](https://github.com/ekasetiawans/flutter_background_service/commit/4d699fb03b83eae09bc3696f443a8e36092c8789))
+ - **FEAT**: allow using custom task identifier. ([555a0618](https://github.com/ekasetiawans/flutter_background_service/commit/555a06182230c126c7f0a43f6e94317e62ccb6c3))
+ - **FEAT**: move android service to separated process. ([bd2e6f07](https://github.com/ekasetiawans/flutter_background_service/commit/bd2e6f075ea8a7db231c7586b8f6244bb0399ff4))
+ - **FEAT**: using entrypoint instead of dart callback and added initial notification info for android. ([b0fc8f32](https://github.com/ekasetiawans/flutter_background_service/commit/b0fc8f32d59fa582c37fcd6e2349fab32aac245b))
+ - **FEAT**: automatically register plugins. ([3a0d0d53](https://github.com/ekasetiawans/flutter_background_service/commit/3a0d0d53110cdaf92caf4f329cd80034121c9ea6))
+ - **FEAT**: update dependencies. ([afc90fcc](https://github.com/ekasetiawans/flutter_background_service/commit/afc90fcc07b39954147dd24915258c96863e573e))
+ - **FEAT**: managed with melos. ([2313273a](https://github.com/ekasetiawans/flutter_background_service/commit/2313273a3e728e37e2fb973ccc146841c8af48da))
+ - **DOCS**: updated README.md. ([9345b16f](https://github.com/ekasetiawans/flutter_background_service/commit/9345b16f7c69e7acac1ea5d8a5985b97092a1220))
+ - **DOCS**: updated README. ([f9e96ab4](https://github.com/ekasetiawans/flutter_background_service/commit/f9e96ab4978f348342703cf1de011bc59f6b9e4c))
+ - **DOCS**: update README. ([5fc18ced](https://github.com/ekasetiawans/flutter_background_service/commit/5fc18ced43cc7fc1df3209eaa21ef9d424d41779))
+ - **DOCS**: add documentation on configure method. ([b9612afe](https://github.com/ekasetiawans/flutter_background_service/commit/b9612afe593e766e740c69ee01a04b4f9d2ec83a))
+ - **DOCS**: update FAQ. ([53215976](https://github.com/ekasetiawans/flutter_background_service/commit/532159768bc4a14701940c8166440bb1940aa1b5))
+ - **DOCS**: update license. ([0c17e5de](https://github.com/ekasetiawans/flutter_background_service/commit/0c17e5dee091daa622470c8e3ba16c22ae03f8b3))
+ - **DOCS**: updated README. ([2fc9ae66](https://github.com/ekasetiawans/flutter_background_service/commit/2fc9ae66f5538ab45f3690cdaee94f89b31f16e2))
+ - **DOCS**: update example project for custom notification. ([d1e90d86](https://github.com/ekasetiawans/flutter_background_service/commit/d1e90d864d281747ab40170e22d91601b29927a6))
+ - **DOCS**: update README. ([caf8125c](https://github.com/ekasetiawans/flutter_background_service/commit/caf8125cf557b009e06995fcc7ea8a006eba3dae))
+ - **DOCS**: update README. ([88917672](https://github.com/ekasetiawans/flutter_background_service/commit/88917672c617b47691f71f964ee7ff8bd9f1d6f3))
+ - **DOCS**: change method name. ([9f05e7f6](https://github.com/ekasetiawans/flutter_background_service/commit/9f05e7f6a260d8f63788cb21e8e7c2cdc91769eb))
+ - **BREAKING** **FEAT**: updated dependency constraints. ([97ef7977](https://github.com/ekasetiawans/flutter_background_service/commit/97ef7977ff9a2cb31b1e29593b3a9cc725d89e27))
+ - **BREAKING** **FEAT**: implement new concept. ([c8ce9c0b](https://github.com/ekasetiawans/flutter_background_service/commit/c8ce9c0bab82137dea031af124b84510286661f7))
+
+#### `flutter_background_service_android` - `v6.0.0`
+
+ - **REFACTOR**: improve android performances. ([13f73a86](https://github.com/ekasetiawans/flutter_background_service/commit/13f73a86e9c1cc0c5fc46a757992e24219d03715))
+ - **REFACTOR**: remove unused methods. ([ea79ceda](https://github.com/ekasetiawans/flutter_background_service/commit/ea79cedac08089a3d6dafb8d7c785d73b753f80c))
+ - **REFACTOR**: refactor java code. ([d7db0c09](https://github.com/ekasetiawans/flutter_background_service/commit/d7db0c092dcfc0af0bb8f1175ea82f3f0ccfe908))
+ - **REFACTOR**: initialize melos. ([00bf06da](https://github.com/ekasetiawans/flutter_background_service/commit/00bf06da1ca1f4554edaabbd108c59f34b02c611))
+ - **PERF**: improve entrypoint with args. ([5abacbe5](https://github.com/ekasetiawans/flutter_background_service/commit/5abacbe57f239d9ce1667e643d81d6b17f873f5c))
+ - **PERF**: using exact alarm for watchdog receiver. ([6dba6670](https://github.com/ekasetiawans/flutter_background_service/commit/6dba6670965a24b9b0657ad0abc793db850a982b))
+ - **PERF**: improve android background service. ([e01a3fa2](https://github.com/ekasetiawans/flutter_background_service/commit/e01a3fa2938479f31a525c23ff888c03b496fa70))
+ - **FIX**: We still need to check service is running or not. ([280a603e](https://github.com/ekasetiawans/flutter_background_service/commit/280a603ee4fff39e2d0d0cd043dd6ba6f0941ee1))
+ - **FIX**: Issue created by [#336](https://github.com/ekasetiawans/flutter_background_service/issues/336). ([6fedeed2](https://github.com/ekasetiawans/flutter_background_service/commit/6fedeed253d2648d876b9a2e3e5a30967934a81a))
+ - **FIX**: added proguard for android plugin. ([0d7ac8a6](https://github.com/ekasetiawans/flutter_background_service/commit/0d7ac8a698b339af5931cb3b3e18c4b7f2e2670f))
+ - **FIX**: make final variable for backward compatibility of gradle. ([d7087ba0](https://github.com/ekasetiawans/flutter_background_service/commit/d7087ba07a580e7d16d4e416cde43ddfb531e664))
+ - **FIX**: using Runnable instead of lambda. ([9cda867d](https://github.com/ekasetiawans/flutter_background_service/commit/9cda867d8f2dc84cf1f7f112a3e87b1fa7dc1d3d))
+ - **FIX**: wakelock not released. ([e427f3b7](https://github.com/ekasetiawans/flutter_background_service/commit/e427f3b70138ec26f9671c2617f9061f25eade6f))
+ - **FIX**: autoStartOnBootMode [#160](https://github.com/ekasetiawans/flutter_background_service/issues/160). ([16a785a3](https://github.com/ekasetiawans/flutter_background_service/commit/16a785a3cbcb4226321ddddf681b6554196fa4db))
+ - **FIX**: release wakelock. ([c0830250](https://github.com/ekasetiawans/flutter_background_service/commit/c0830250b90a1ba6e2543a1bb25a13fba59a56b7))
+ - **FIX**: errors. ([13a6f841](https://github.com/ekasetiawans/flutter_background_service/commit/13a6f841f5d677ceb0010e8ba1bf9d7af53adbcf))
+ - **FEAT**: added QUICKBOOT_POWERON action to intent-filter. ([46f08173](https://github.com/ekasetiawans/flutter_background_service/commit/46f08173cfb54795fb707bd521d8ed94db75cad5))
+ - **FEAT**: revert to single process. ([515dde6a](https://github.com/ekasetiawans/flutter_background_service/commit/515dde6a49e50087c6f613ff0de8e1bd111a315b))
+ - **FEAT**: move android service to separated process. ([bd2e6f07](https://github.com/ekasetiawans/flutter_background_service/commit/bd2e6f075ea8a7db231c7586b8f6244bb0399ff4))
+ - **FEAT**(android): expose notification id for foreground service. ([47b7089c](https://github.com/ekasetiawans/flutter_background_service/commit/47b7089c5e4ab18f3a35558d6c7ec2d50fc8d3f1))
+ - **FEAT**: using entrypoint instead of dart callback and added initial notification info for android. ([b0fc8f32](https://github.com/ekasetiawans/flutter_background_service/commit/b0fc8f32d59fa582c37fcd6e2349fab32aac245b))
+ - **FEAT**: migrate to plugin platform interface. ([70e08ff0](https://github.com/ekasetiawans/flutter_background_service/commit/70e08ff03232c31946cc8eb7896f69c830f23322))
+ - **DOCS**: update license. ([0c17e5de](https://github.com/ekasetiawans/flutter_background_service/commit/0c17e5dee091daa622470c8e3ba16c22ae03f8b3))
+ - **DOCS**: readme link. ([1479b91c](https://github.com/ekasetiawans/flutter_background_service/commit/1479b91cd80d637335de1314a528bcf51ebb7c0f))
+ - **DOCS**: update README. ([fbf5e0ab](https://github.com/ekasetiawans/flutter_background_service/commit/fbf5e0abeeb9296ba32361b8af0a298ee9e71527))
+ - **BREAKING** **FEAT**: updated dependency constraints. ([97ef7977](https://github.com/ekasetiawans/flutter_background_service/commit/97ef7977ff9a2cb31b1e29593b3a9cc725d89e27))
+ - **BREAKING** **FEAT**: autoStartOnBoot now using it's own argument. ([036669dc](https://github.com/ekasetiawans/flutter_background_service/commit/036669dc4383e938f09f88d9d8a248afbf918cf8))
+ - **BREAKING** **FEAT**: implement new concept. ([c8ce9c0b](https://github.com/ekasetiawans/flutter_background_service/commit/c8ce9c0bab82137dea031af124b84510286661f7))
+
+#### `flutter_background_service_ios` - `v5.0.0`
+
+ - **REFACTOR**: remove unused methods. ([ea79ceda](https://github.com/ekasetiawans/flutter_background_service/commit/ea79cedac08089a3d6dafb8d7c785d73b753f80c))
+ - **REFACTOR**: split code into separate class. ([678226ba](https://github.com/ekasetiawans/flutter_background_service/commit/678226ba08966303713faa718f5a9b46e448c5d1))
+ - **REFACTOR**: update BGTaskScheduler flow. ([414bb21b](https://github.com/ekasetiawans/flutter_background_service/commit/414bb21b4d0af6112491fb81ee3246b7ef8a5c5b))
+ - **REFACTOR**: initialize melos. ([00bf06da](https://github.com/ekasetiawans/flutter_background_service/commit/00bf06da1ca1f4554edaabbd108c59f34b02c611))
+ - **PERF**: improve handle app refresh ios. ([48e333d7](https://github.com/ekasetiawans/flutter_background_service/commit/48e333d708cb8296c8e6bf1bb151c7cbd95ea7ee))
+ - **PERF**: cancel old schedule. ([bfca5773](https://github.com/ekasetiawans/flutter_background_service/commit/bfca577324345f64faca562e32bad42ed16e92b4))
+ - **FIX**: ios onBackground. ([0b1101be](https://github.com/ekasetiawans/flutter_background_service/commit/0b1101befa66f5d1f200c6a999f7e55c876f2a10))
+ - **FIX**: ios onBackground. ([4eb6b70d](https://github.com/ekasetiawans/flutter_background_service/commit/4eb6b70d005d43079fa53989a1352ae153ea03ae))
+ - **FIX**: handle null safety. ([77513387](https://github.com/ekasetiawans/flutter_background_service/commit/775133879a1693154cf14181c3ac780aa7001710))
+ - **FIX**: added pragma vm:entry-point to ios. ([7b44a2a4](https://github.com/ekasetiawans/flutter_background_service/commit/7b44a2a4ae977bd723874900eca689435989cfcd))
+ - **FIX**: swift compile error. ([b75128ad](https://github.com/ekasetiawans/flutter_background_service/commit/b75128ad3100b4e505e4a3f8a037b07b9be547ad))
+ - **FIX**: errors. ([13a6f841](https://github.com/ekasetiawans/flutter_background_service/commit/13a6f841f5d677ceb0010e8ba1bf9d7af53adbcf))
+ - **FIX**: podspec. ([b46f9a3f](https://github.com/ekasetiawans/flutter_background_service/commit/b46f9a3f425f66e6bda34650e713da299f922a73))
+ - **FEAT**: onForeground and onBackground now optional. ([9dfcc4d4](https://github.com/ekasetiawans/flutter_background_service/commit/9dfcc4d4f4fea0f3b8ca0fbb47e3d127af3bc68d))
+ - **FEAT**: allow using custom task identifier. ([555a0618](https://github.com/ekasetiawans/flutter_background_service/commit/555a06182230c126c7f0a43f6e94317e62ccb6c3))
+ - **FEAT**: using entrypoint instead of dart callback and added initial notification info for android. ([b0fc8f32](https://github.com/ekasetiawans/flutter_background_service/commit/b0fc8f32d59fa582c37fcd6e2349fab32aac245b))
+ - **FEAT**: automatically register plugins. ([3a0d0d53](https://github.com/ekasetiawans/flutter_background_service/commit/3a0d0d53110cdaf92caf4f329cd80034121c9ea6))
+ - **FEAT**: migrate to plugin platform interface. ([70e08ff0](https://github.com/ekasetiawans/flutter_background_service/commit/70e08ff03232c31946cc8eb7896f69c830f23322))
+ - **DOCS**: update license. ([0c17e5de](https://github.com/ekasetiawans/flutter_background_service/commit/0c17e5dee091daa622470c8e3ba16c22ae03f8b3))
+ - **DOCS**: readme link. ([1479b91c](https://github.com/ekasetiawans/flutter_background_service/commit/1479b91cd80d637335de1314a528bcf51ebb7c0f))
+ - **DOCS**: update README. ([fbf5e0ab](https://github.com/ekasetiawans/flutter_background_service/commit/fbf5e0abeeb9296ba32361b8af0a298ee9e71527))
+ - **BREAKING** **FEAT**: updated dependency constraints. ([97ef7977](https://github.com/ekasetiawans/flutter_background_service/commit/97ef7977ff9a2cb31b1e29593b3a9cc725d89e27))
+ - **BREAKING** **FEAT**: implement new concept. ([c8ce9c0b](https://github.com/ekasetiawans/flutter_background_service/commit/c8ce9c0bab82137dea031af124b84510286661f7))
+
+#### `flutter_background_service_platform_interface` - `v5.0.0`
+
+ - **REFACTOR**: refactor java code. ([d7db0c09](https://github.com/ekasetiawans/flutter_background_service/commit/d7db0c092dcfc0af0bb8f1175ea82f3f0ccfe908))
+ - **REFACTOR**: initialize melos. ([00bf06da](https://github.com/ekasetiawans/flutter_background_service/commit/00bf06da1ca1f4554edaabbd108c59f34b02c611))
+ - **FIX**: remove duplicated properties. ([891c2029](https://github.com/ekasetiawans/flutter_background_service/commit/891c20291df9612810035219af98d732d99d200c))
+ - **FIX**: missing foregroundServiceNotificationId. ([e49f6137](https://github.com/ekasetiawans/flutter_background_service/commit/e49f613726120f144b04e2246c43360756d57e5b))
+ - **FIX**: errors. ([13a6f841](https://github.com/ekasetiawans/flutter_background_service/commit/13a6f841f5d677ceb0010e8ba1bf9d7af53adbcf))
+ - **FIX**: method channel. ([1a1e3527](https://github.com/ekasetiawans/flutter_background_service/commit/1a1e3527465a4ede4c188b4e1aa51ce552e697c1))
+ - **FEAT**: Updated configs. ([7af1961d](https://github.com/ekasetiawans/flutter_background_service/commit/7af1961def1625d7a5314812c1f794e327f53ce7))
+ - **FEAT**: using entrypoint instead of dart callback and added initial notification info for android. ([b0fc8f32](https://github.com/ekasetiawans/flutter_background_service/commit/b0fc8f32d59fa582c37fcd6e2349fab32aac245b))
+ - **DOCS**: update license. ([0c17e5de](https://github.com/ekasetiawans/flutter_background_service/commit/0c17e5dee091daa622470c8e3ba16c22ae03f8b3))
+ - **DOCS**: readme link. ([1479b91c](https://github.com/ekasetiawans/flutter_background_service/commit/1479b91cd80d637335de1314a528bcf51ebb7c0f))
+ - **DOCS**: update README. ([fbf5e0ab](https://github.com/ekasetiawans/flutter_background_service/commit/fbf5e0abeeb9296ba32361b8af0a298ee9e71527))
+ - **BREAKING** **FEAT**: updated dependency constraints. ([97ef7977](https://github.com/ekasetiawans/flutter_background_service/commit/97ef7977ff9a2cb31b1e29593b3a9cc725d89e27))
+ - **BREAKING** **FEAT**: introduce ServiceInstance. ([425279b0](https://github.com/ekasetiawans/flutter_background_service/commit/425279b09378fbcd8e66295ce526f2c4f15d741c))
+ - **BREAKING** **CHANGE**: supported only flutter 2.0.0 and newer. ([be0c32f8](https://github.com/ekasetiawans/flutter_background_service/commit/be0c32f8200dcce44ddce67461c333d6d0ef287c))
+
+
+## 2023-08-07
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - [`flutter_background_service` - `v4.0.0`](#flutter_background_service---v400)
+ - [`flutter_background_service_android` - `v5.0.0`](#flutter_background_service_android---v500)
+ - [`flutter_background_service_ios` - `v4.0.0`](#flutter_background_service_ios---v400)
+ - [`flutter_background_service_platform_interface` - `v4.0.0`](#flutter_background_service_platform_interface---v400)
+
+Packages with other changes:
+
+ - There are no other changes in this release.
+
+---
+
+#### `flutter_background_service` - `v4.0.0`
+
+ - **REFACTOR**: improve android performances. ([13f73a86](https://github.com/ekasetiawans/flutter_background_service/commit/13f73a86e9c1cc0c5fc46a757992e24219d03715))
+ - **REFACTOR**: split code into separate class. ([678226ba](https://github.com/ekasetiawans/flutter_background_service/commit/678226ba08966303713faa718f5a9b46e448c5d1))
+ - **REFACTOR**: fix sampe project dependency version. ([a83b9f62](https://github.com/ekasetiawans/flutter_background_service/commit/a83b9f62dd0d16f8bd23657ef1f36cb7d51fb0fa))
+ - **REFACTOR**: initialize melos. ([00bf06da](https://github.com/ekasetiawans/flutter_background_service/commit/00bf06da1ca1f4554edaabbd108c59f34b02c611))
+ - **PERF**: improve handle app refresh ios. ([48e333d7](https://github.com/ekasetiawans/flutter_background_service/commit/48e333d708cb8296c8e6bf1bb151c7cbd95ea7ee))
+ - **FIX**: ios onBackground. ([4eb6b70d](https://github.com/ekasetiawans/flutter_background_service/commit/4eb6b70d005d43079fa53989a1352ae153ea03ae))
+ - **FIX**: added @pragma. ([0f90cc7d](https://github.com/ekasetiawans/flutter_background_service/commit/0f90cc7d6f1ae9b0e2ab6132151e27b88814afe1))
+ - **FIX**: using Runnable instead of lambda. ([9cda867d](https://github.com/ekasetiawans/flutter_background_service/commit/9cda867d8f2dc84cf1f7f112a3e87b1fa7dc1d3d))
+ - **FIX**: wrong dependency version. ([34e66e13](https://github.com/ekasetiawans/flutter_background_service/commit/34e66e13f04afe760d7b4087cc7052756dcb2a9c))
+ - **FIX**: errors. ([13a6f841](https://github.com/ekasetiawans/flutter_background_service/commit/13a6f841f5d677ceb0010e8ba1bf9d7af53adbcf))
+ - **FIX**: podspec. ([b46f9a3f](https://github.com/ekasetiawans/flutter_background_service/commit/b46f9a3f425f66e6bda34650e713da299f922a73))
+ - **FIX**: dependencies version. ([4e89b5e9](https://github.com/ekasetiawans/flutter_background_service/commit/4e89b5e9e5aa55074e1b10b41ea057c4b1b0bfcb))
+ - **FEAT**: enhance notification icon readme. ([52e7e6ea](https://github.com/ekasetiawans/flutter_background_service/commit/52e7e6ea8bdff67924d93ce716b395bdbba2a48b))
+ - **FEAT**: enhance notification icon readme. ([4d699fb0](https://github.com/ekasetiawans/flutter_background_service/commit/4d699fb03b83eae09bc3696f443a8e36092c8789))
+ - **FEAT**: allow using custom task identifier. ([555a0618](https://github.com/ekasetiawans/flutter_background_service/commit/555a06182230c126c7f0a43f6e94317e62ccb6c3))
+ - **FEAT**: move android service to separated process. ([bd2e6f07](https://github.com/ekasetiawans/flutter_background_service/commit/bd2e6f075ea8a7db231c7586b8f6244bb0399ff4))
+ - **FEAT**: using entrypoint instead of dart callback and added initial notification info for android. ([b0fc8f32](https://github.com/ekasetiawans/flutter_background_service/commit/b0fc8f32d59fa582c37fcd6e2349fab32aac245b))
+ - **FEAT**: automatically register plugins. ([3a0d0d53](https://github.com/ekasetiawans/flutter_background_service/commit/3a0d0d53110cdaf92caf4f329cd80034121c9ea6))
+ - **FEAT**: update dependencies. ([afc90fcc](https://github.com/ekasetiawans/flutter_background_service/commit/afc90fcc07b39954147dd24915258c96863e573e))
+ - **FEAT**: managed with melos. ([2313273a](https://github.com/ekasetiawans/flutter_background_service/commit/2313273a3e728e37e2fb973ccc146841c8af48da))
+ - **DOCS**: updated README.md. ([9345b16f](https://github.com/ekasetiawans/flutter_background_service/commit/9345b16f7c69e7acac1ea5d8a5985b97092a1220))
+ - **DOCS**: updated README. ([f9e96ab4](https://github.com/ekasetiawans/flutter_background_service/commit/f9e96ab4978f348342703cf1de011bc59f6b9e4c))
+ - **DOCS**: update README. ([5fc18ced](https://github.com/ekasetiawans/flutter_background_service/commit/5fc18ced43cc7fc1df3209eaa21ef9d424d41779))
+ - **DOCS**: add documentation on configure method. ([b9612afe](https://github.com/ekasetiawans/flutter_background_service/commit/b9612afe593e766e740c69ee01a04b4f9d2ec83a))
+ - **DOCS**: update FAQ. ([53215976](https://github.com/ekasetiawans/flutter_background_service/commit/532159768bc4a14701940c8166440bb1940aa1b5))
+ - **DOCS**: update license. ([0c17e5de](https://github.com/ekasetiawans/flutter_background_service/commit/0c17e5dee091daa622470c8e3ba16c22ae03f8b3))
+ - **DOCS**: updated README. ([2fc9ae66](https://github.com/ekasetiawans/flutter_background_service/commit/2fc9ae66f5538ab45f3690cdaee94f89b31f16e2))
+ - **DOCS**: update example project for custom notification. ([d1e90d86](https://github.com/ekasetiawans/flutter_background_service/commit/d1e90d864d281747ab40170e22d91601b29927a6))
+ - **DOCS**: update README. ([caf8125c](https://github.com/ekasetiawans/flutter_background_service/commit/caf8125cf557b009e06995fcc7ea8a006eba3dae))
+ - **DOCS**: update README. ([88917672](https://github.com/ekasetiawans/flutter_background_service/commit/88917672c617b47691f71f964ee7ff8bd9f1d6f3))
+ - **DOCS**: change method name. ([9f05e7f6](https://github.com/ekasetiawans/flutter_background_service/commit/9f05e7f6a260d8f63788cb21e8e7c2cdc91769eb))
+ - **BREAKING** **FEAT**: updated dependency constraints. ([97ef7977](https://github.com/ekasetiawans/flutter_background_service/commit/97ef7977ff9a2cb31b1e29593b3a9cc725d89e27))
+ - **BREAKING** **FEAT**: implement new concept. ([c8ce9c0b](https://github.com/ekasetiawans/flutter_background_service/commit/c8ce9c0bab82137dea031af124b84510286661f7))
+
+#### `flutter_background_service_android` - `v5.0.0`
+
+ - **REFACTOR**: improve android performances. ([13f73a86](https://github.com/ekasetiawans/flutter_background_service/commit/13f73a86e9c1cc0c5fc46a757992e24219d03715))
+ - **REFACTOR**: remove unused methods. ([ea79ceda](https://github.com/ekasetiawans/flutter_background_service/commit/ea79cedac08089a3d6dafb8d7c785d73b753f80c))
+ - **REFACTOR**: refactor java code. ([d7db0c09](https://github.com/ekasetiawans/flutter_background_service/commit/d7db0c092dcfc0af0bb8f1175ea82f3f0ccfe908))
+ - **REFACTOR**: initialize melos. ([00bf06da](https://github.com/ekasetiawans/flutter_background_service/commit/00bf06da1ca1f4554edaabbd108c59f34b02c611))
+ - **PERF**: improve entrypoint with args. ([5abacbe5](https://github.com/ekasetiawans/flutter_background_service/commit/5abacbe57f239d9ce1667e643d81d6b17f873f5c))
+ - **PERF**: using exact alarm for watchdog receiver. ([6dba6670](https://github.com/ekasetiawans/flutter_background_service/commit/6dba6670965a24b9b0657ad0abc793db850a982b))
+ - **PERF**: improve android background service. ([e01a3fa2](https://github.com/ekasetiawans/flutter_background_service/commit/e01a3fa2938479f31a525c23ff888c03b496fa70))
+ - **FIX**: We still need to check service is running or not. ([280a603e](https://github.com/ekasetiawans/flutter_background_service/commit/280a603ee4fff39e2d0d0cd043dd6ba6f0941ee1))
+ - **FIX**: Issue created by [#336](https://github.com/ekasetiawans/flutter_background_service/issues/336). ([6fedeed2](https://github.com/ekasetiawans/flutter_background_service/commit/6fedeed253d2648d876b9a2e3e5a30967934a81a))
+ - **FIX**: added proguard for android plugin. ([0d7ac8a6](https://github.com/ekasetiawans/flutter_background_service/commit/0d7ac8a698b339af5931cb3b3e18c4b7f2e2670f))
+ - **FIX**: make final variable for backward compatibility of gradle. ([d7087ba0](https://github.com/ekasetiawans/flutter_background_service/commit/d7087ba07a580e7d16d4e416cde43ddfb531e664))
+ - **FIX**: using Runnable instead of lambda. ([9cda867d](https://github.com/ekasetiawans/flutter_background_service/commit/9cda867d8f2dc84cf1f7f112a3e87b1fa7dc1d3d))
+ - **FIX**: wakelock not released. ([e427f3b7](https://github.com/ekasetiawans/flutter_background_service/commit/e427f3b70138ec26f9671c2617f9061f25eade6f))
+ - **FIX**: autoStartOnBootMode [#160](https://github.com/ekasetiawans/flutter_background_service/issues/160). ([16a785a3](https://github.com/ekasetiawans/flutter_background_service/commit/16a785a3cbcb4226321ddddf681b6554196fa4db))
+ - **FIX**: release wakelock. ([c0830250](https://github.com/ekasetiawans/flutter_background_service/commit/c0830250b90a1ba6e2543a1bb25a13fba59a56b7))
+ - **FIX**: errors. ([13a6f841](https://github.com/ekasetiawans/flutter_background_service/commit/13a6f841f5d677ceb0010e8ba1bf9d7af53adbcf))
+ - **FEAT**: added QUICKBOOT_POWERON action to intent-filter. ([46f08173](https://github.com/ekasetiawans/flutter_background_service/commit/46f08173cfb54795fb707bd521d8ed94db75cad5))
+ - **FEAT**: revert to single process. ([515dde6a](https://github.com/ekasetiawans/flutter_background_service/commit/515dde6a49e50087c6f613ff0de8e1bd111a315b))
+ - **FEAT**: move android service to separated process. ([bd2e6f07](https://github.com/ekasetiawans/flutter_background_service/commit/bd2e6f075ea8a7db231c7586b8f6244bb0399ff4))
+ - **FEAT**(android): expose notification id for foreground service. ([47b7089c](https://github.com/ekasetiawans/flutter_background_service/commit/47b7089c5e4ab18f3a35558d6c7ec2d50fc8d3f1))
+ - **FEAT**: using entrypoint instead of dart callback and added initial notification info for android. ([b0fc8f32](https://github.com/ekasetiawans/flutter_background_service/commit/b0fc8f32d59fa582c37fcd6e2349fab32aac245b))
+ - **FEAT**: migrate to plugin platform interface. ([70e08ff0](https://github.com/ekasetiawans/flutter_background_service/commit/70e08ff03232c31946cc8eb7896f69c830f23322))
+ - **DOCS**: update license. ([0c17e5de](https://github.com/ekasetiawans/flutter_background_service/commit/0c17e5dee091daa622470c8e3ba16c22ae03f8b3))
+ - **DOCS**: readme link. ([1479b91c](https://github.com/ekasetiawans/flutter_background_service/commit/1479b91cd80d637335de1314a528bcf51ebb7c0f))
+ - **DOCS**: update README. ([fbf5e0ab](https://github.com/ekasetiawans/flutter_background_service/commit/fbf5e0abeeb9296ba32361b8af0a298ee9e71527))
+ - **BREAKING** **FEAT**: updated dependency constraints. ([97ef7977](https://github.com/ekasetiawans/flutter_background_service/commit/97ef7977ff9a2cb31b1e29593b3a9cc725d89e27))
+ - **BREAKING** **FEAT**: autoStartOnBoot now using it's own argument. ([036669dc](https://github.com/ekasetiawans/flutter_background_service/commit/036669dc4383e938f09f88d9d8a248afbf918cf8))
+ - **BREAKING** **FEAT**: implement new concept. ([c8ce9c0b](https://github.com/ekasetiawans/flutter_background_service/commit/c8ce9c0bab82137dea031af124b84510286661f7))
+
+#### `flutter_background_service_ios` - `v4.0.0`
+
+ - **REFACTOR**: remove unused methods. ([ea79ceda](https://github.com/ekasetiawans/flutter_background_service/commit/ea79cedac08089a3d6dafb8d7c785d73b753f80c))
+ - **REFACTOR**: split code into separate class. ([678226ba](https://github.com/ekasetiawans/flutter_background_service/commit/678226ba08966303713faa718f5a9b46e448c5d1))
+ - **REFACTOR**: update BGTaskScheduler flow. ([414bb21b](https://github.com/ekasetiawans/flutter_background_service/commit/414bb21b4d0af6112491fb81ee3246b7ef8a5c5b))
+ - **REFACTOR**: initialize melos. ([00bf06da](https://github.com/ekasetiawans/flutter_background_service/commit/00bf06da1ca1f4554edaabbd108c59f34b02c611))
+ - **PERF**: improve handle app refresh ios. ([48e333d7](https://github.com/ekasetiawans/flutter_background_service/commit/48e333d708cb8296c8e6bf1bb151c7cbd95ea7ee))
+ - **PERF**: cancel old schedule. ([bfca5773](https://github.com/ekasetiawans/flutter_background_service/commit/bfca577324345f64faca562e32bad42ed16e92b4))
+ - **FIX**: ios onBackground. ([0b1101be](https://github.com/ekasetiawans/flutter_background_service/commit/0b1101befa66f5d1f200c6a999f7e55c876f2a10))
+ - **FIX**: ios onBackground. ([4eb6b70d](https://github.com/ekasetiawans/flutter_background_service/commit/4eb6b70d005d43079fa53989a1352ae153ea03ae))
+ - **FIX**: handle null safety. ([77513387](https://github.com/ekasetiawans/flutter_background_service/commit/775133879a1693154cf14181c3ac780aa7001710))
+ - **FIX**: added pragma vm:entry-point to ios. ([7b44a2a4](https://github.com/ekasetiawans/flutter_background_service/commit/7b44a2a4ae977bd723874900eca689435989cfcd))
+ - **FIX**: swift compile error. ([b75128ad](https://github.com/ekasetiawans/flutter_background_service/commit/b75128ad3100b4e505e4a3f8a037b07b9be547ad))
+ - **FIX**: errors. ([13a6f841](https://github.com/ekasetiawans/flutter_background_service/commit/13a6f841f5d677ceb0010e8ba1bf9d7af53adbcf))
+ - **FIX**: podspec. ([b46f9a3f](https://github.com/ekasetiawans/flutter_background_service/commit/b46f9a3f425f66e6bda34650e713da299f922a73))
+ - **FEAT**: onForeground and onBackground now optional. ([9dfcc4d4](https://github.com/ekasetiawans/flutter_background_service/commit/9dfcc4d4f4fea0f3b8ca0fbb47e3d127af3bc68d))
+ - **FEAT**: allow using custom task identifier. ([555a0618](https://github.com/ekasetiawans/flutter_background_service/commit/555a06182230c126c7f0a43f6e94317e62ccb6c3))
+ - **FEAT**: using entrypoint instead of dart callback and added initial notification info for android. ([b0fc8f32](https://github.com/ekasetiawans/flutter_background_service/commit/b0fc8f32d59fa582c37fcd6e2349fab32aac245b))
+ - **FEAT**: automatically register plugins. ([3a0d0d53](https://github.com/ekasetiawans/flutter_background_service/commit/3a0d0d53110cdaf92caf4f329cd80034121c9ea6))
+ - **FEAT**: migrate to plugin platform interface. ([70e08ff0](https://github.com/ekasetiawans/flutter_background_service/commit/70e08ff03232c31946cc8eb7896f69c830f23322))
+ - **DOCS**: update license. ([0c17e5de](https://github.com/ekasetiawans/flutter_background_service/commit/0c17e5dee091daa622470c8e3ba16c22ae03f8b3))
+ - **DOCS**: readme link. ([1479b91c](https://github.com/ekasetiawans/flutter_background_service/commit/1479b91cd80d637335de1314a528bcf51ebb7c0f))
+ - **DOCS**: update README. ([fbf5e0ab](https://github.com/ekasetiawans/flutter_background_service/commit/fbf5e0abeeb9296ba32361b8af0a298ee9e71527))
+ - **BREAKING** **FEAT**: updated dependency constraints. ([97ef7977](https://github.com/ekasetiawans/flutter_background_service/commit/97ef7977ff9a2cb31b1e29593b3a9cc725d89e27))
+ - **BREAKING** **FEAT**: implement new concept. ([c8ce9c0b](https://github.com/ekasetiawans/flutter_background_service/commit/c8ce9c0bab82137dea031af124b84510286661f7))
+
+#### `flutter_background_service_platform_interface` - `v4.0.0`
+
+ - **REFACTOR**: refactor java code. ([d7db0c09](https://github.com/ekasetiawans/flutter_background_service/commit/d7db0c092dcfc0af0bb8f1175ea82f3f0ccfe908))
+ - **REFACTOR**: initialize melos. ([00bf06da](https://github.com/ekasetiawans/flutter_background_service/commit/00bf06da1ca1f4554edaabbd108c59f34b02c611))
+ - **FIX**: remove duplicated properties. ([891c2029](https://github.com/ekasetiawans/flutter_background_service/commit/891c20291df9612810035219af98d732d99d200c))
+ - **FIX**: missing foregroundServiceNotificationId. ([e49f6137](https://github.com/ekasetiawans/flutter_background_service/commit/e49f613726120f144b04e2246c43360756d57e5b))
+ - **FIX**: errors. ([13a6f841](https://github.com/ekasetiawans/flutter_background_service/commit/13a6f841f5d677ceb0010e8ba1bf9d7af53adbcf))
+ - **FIX**: method channel. ([1a1e3527](https://github.com/ekasetiawans/flutter_background_service/commit/1a1e3527465a4ede4c188b4e1aa51ce552e697c1))
+ - **FEAT**: Updated configs. ([7af1961d](https://github.com/ekasetiawans/flutter_background_service/commit/7af1961def1625d7a5314812c1f794e327f53ce7))
+ - **FEAT**: using entrypoint instead of dart callback and added initial notification info for android. ([b0fc8f32](https://github.com/ekasetiawans/flutter_background_service/commit/b0fc8f32d59fa582c37fcd6e2349fab32aac245b))
+ - **DOCS**: update license. ([0c17e5de](https://github.com/ekasetiawans/flutter_background_service/commit/0c17e5dee091daa622470c8e3ba16c22ae03f8b3))
+ - **DOCS**: readme link. ([1479b91c](https://github.com/ekasetiawans/flutter_background_service/commit/1479b91cd80d637335de1314a528bcf51ebb7c0f))
+ - **DOCS**: update README. ([fbf5e0ab](https://github.com/ekasetiawans/flutter_background_service/commit/fbf5e0abeeb9296ba32361b8af0a298ee9e71527))
+ - **BREAKING** **FEAT**: updated dependency constraints. ([97ef7977](https://github.com/ekasetiawans/flutter_background_service/commit/97ef7977ff9a2cb31b1e29593b3a9cc725d89e27))
+ - **BREAKING** **FEAT**: introduce ServiceInstance. ([425279b0](https://github.com/ekasetiawans/flutter_background_service/commit/425279b09378fbcd8e66295ce526f2c4f15d741c))
+ - **BREAKING** **CHANGE**: supported only flutter 2.0.0 and newer. ([be0c32f8](https://github.com/ekasetiawans/flutter_background_service/commit/be0c32f8200dcce44ddce67461c333d6d0ef287c))
+
+
+## 2023-08-07
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v4.0.2`](#flutter_background_service_android---v402)
+ - [`flutter_background_service` - `v3.0.2`](#flutter_background_service---v302)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v3.0.2`
+
+---
+
+#### `flutter_background_service_android` - `v4.0.2`
+
+ - **FIX**: We still need to check service is running or not. ([280a603e](https://github.com/ekasetiawans/flutter_background_service/commit/280a603ee4fff39e2d0d0cd043dd6ba6f0941ee1))
+ - **FIX**: Issue created by [#336](https://github.com/ekasetiawans/flutter_background_service/issues/336). ([6fedeed2](https://github.com/ekasetiawans/flutter_background_service/commit/6fedeed253d2648d876b9a2e3e5a30967934a81a))
+
+
+## 2023-06-14
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v3.0.1`](#flutter_background_service---v301)
+ - [`flutter_background_service_android` - `v4.0.1`](#flutter_background_service_android---v401)
+
+---
+
+#### `flutter_background_service` - `v3.0.1`
+
+ - **REFACTOR**: improve android performances. ([13f73a86](https://github.com/ekasetiawans/flutter_background_service/commit/13f73a86e9c1cc0c5fc46a757992e24219d03715))
+
+#### `flutter_background_service_android` - `v4.0.1`
+
+ - **REFACTOR**: improve android performances. ([13f73a86](https://github.com/ekasetiawans/flutter_background_service/commit/13f73a86e9c1cc0c5fc46a757992e24219d03715))
+
+
+## 2023-06-14
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - [`flutter_background_service` - `v3.0.0`](#flutter_background_service---v300)
+ - [`flutter_background_service_android` - `v4.0.0`](#flutter_background_service_android---v400)
+ - [`flutter_background_service_ios` - `v3.0.0`](#flutter_background_service_ios---v300)
+ - [`flutter_background_service_platform_interface` - `v3.0.0`](#flutter_background_service_platform_interface---v300)
+
+Packages with other changes:
+
+ - There are no other changes in this release.
+
+---
+
+#### `flutter_background_service` - `v3.0.0`
+
+ - **FEAT**: enhance notification icon readme. ([52e7e6ea](https://github.com/ekasetiawans/flutter_background_service/commit/52e7e6ea8bdff67924d93ce716b395bdbba2a48b))
+ - **FEAT**: enhance notification icon readme. ([4d699fb0](https://github.com/ekasetiawans/flutter_background_service/commit/4d699fb03b83eae09bc3696f443a8e36092c8789))
+ - **BREAKING** **FEAT**: updated dependency constraints. ([97ef7977](https://github.com/ekasetiawans/flutter_background_service/commit/97ef7977ff9a2cb31b1e29593b3a9cc725d89e27))
+
+#### `flutter_background_service_android` - `v4.0.0`
+
+ - **BREAKING** **FEAT**: updated dependency constraints. ([97ef7977](https://github.com/ekasetiawans/flutter_background_service/commit/97ef7977ff9a2cb31b1e29593b3a9cc725d89e27))
+
+#### `flutter_background_service_ios` - `v3.0.0`
+
+ - **BREAKING** **FEAT**: updated dependency constraints. ([97ef7977](https://github.com/ekasetiawans/flutter_background_service/commit/97ef7977ff9a2cb31b1e29593b3a9cc725d89e27))
+
+#### `flutter_background_service_platform_interface` - `v3.0.0`
+
+ - **BREAKING** **FEAT**: updated dependency constraints. ([97ef7977](https://github.com/ekasetiawans/flutter_background_service/commit/97ef7977ff9a2cb31b1e29593b3a9cc725d89e27))
+
+
+## 2022-12-14
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.4.6`](#flutter_background_service---v246)
+
+---
+
+#### `flutter_background_service` - `v2.4.6`
+
+ - **DOCS**: updated README.md. ([9345b16f](https://github.com/ekasetiawans/flutter_background_service/commit/9345b16f7c69e7acac1ea5d8a5985b97092a1220))
+
+
+## 2022-10-12
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.4.5`](#flutter_background_service---v245)
+
+---
+
+#### `flutter_background_service` - `v2.4.5`
+
+ - **DOCS**: updated README. ([f9e96ab4](https://github.com/ekasetiawans/flutter_background_service/commit/f9e96ab4978f348342703cf1de011bc59f6b9e4c))
+
+
+## 2022-10-12
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v3.0.2`](#flutter_background_service_android---v302)
+ - [`flutter_background_service` - `v2.4.4`](#flutter_background_service---v244)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v2.4.4`
+
+---
+
+#### `flutter_background_service_android` - `v3.0.2`
+
+ - **FIX**: added proguard for android plugin. ([0d7ac8a6](https://github.com/ekasetiawans/flutter_background_service/commit/0d7ac8a698b339af5931cb3b3e18c4b7f2e2670f))
+
+
+## 2022-09-29
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.4.3`](#flutter_background_service---v243)
+
+---
+
+#### `flutter_background_service` - `v2.4.3`
+
+ - **DOCS**: update README. ([5fc18ced](https://github.com/ekasetiawans/flutter_background_service/commit/5fc18ced43cc7fc1df3209eaa21ef9d424d41779))
+
+
+## 2022-09-29
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - [`flutter_background_service_android` - `v3.0.0`](#flutter_background_service_android---v300)
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.4.2`](#flutter_background_service---v242)
+ - [`flutter_background_service_ios` - `v2.4.0`](#flutter_background_service_ios---v240)
+ - [`flutter_background_service_platform_interface` - `v2.2.0`](#flutter_background_service_platform_interface---v220)
+
+---
+
+#### `flutter_background_service_android` - `v3.0.0`
+
+ - **BREAKING** **FEAT**: autoStartOnBoot now using it's own argument. ([036669dc](https://github.com/ekasetiawans/flutter_background_service/commit/036669dc4383e938f09f88d9d8a248afbf918cf8))
+
+#### `flutter_background_service` - `v2.4.2`
+
+ - **DOCS**: add documentation on configure method. ([b9612afe](https://github.com/ekasetiawans/flutter_background_service/commit/b9612afe593e766e740c69ee01a04b4f9d2ec83a))
+
+#### `flutter_background_service_ios` - `v2.4.0`
+
+ - **FEAT**: onForeground and onBackground now optional. ([9dfcc4d4](https://github.com/ekasetiawans/flutter_background_service/commit/9dfcc4d4f4fea0f3b8ca0fbb47e3d127af3bc68d))
+
+#### `flutter_background_service_platform_interface` - `v2.2.0`
+
+ - **FEAT**: Updated configs. ([7af1961d](https://github.com/ekasetiawans/flutter_background_service/commit/7af1961def1625d7a5314812c1f794e327f53ce7))
+
+
+## 2022-09-28
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.4.1`](#flutter_background_service---v241)
+ - [`flutter_background_service_android` - `v2.5.4`](#flutter_background_service_android---v254)
+ - [`flutter_background_service_ios` - `v2.3.1`](#flutter_background_service_ios---v231)
+
+---
+
+#### `flutter_background_service` - `v2.4.1`
+
+ - **PERF**: improve handle app refresh ios. ([48e333d7](https://github.com/ekasetiawans/flutter_background_service/commit/48e333d708cb8296c8e6bf1bb151c7cbd95ea7ee))
+
+#### `flutter_background_service_android` - `v2.5.4`
+
+ - **REFACTOR**: remove unused methods. ([ea79ceda](https://github.com/ekasetiawans/flutter_background_service/commit/ea79cedac08089a3d6dafb8d7c785d73b753f80c))
+
+#### `flutter_background_service_ios` - `v2.3.1`
+
+ - **REFACTOR**: remove unused methods. ([ea79ceda](https://github.com/ekasetiawans/flutter_background_service/commit/ea79cedac08089a3d6dafb8d7c785d73b753f80c))
+ - **PERF**: improve handle app refresh ios. ([48e333d7](https://github.com/ekasetiawans/flutter_background_service/commit/48e333d708cb8296c8e6bf1bb151c7cbd95ea7ee))
+
+
+## 2022-09-28
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.4.0`](#flutter_background_service---v240)
+ - [`flutter_background_service_android` - `v2.5.3`](#flutter_background_service_android---v253)
+ - [`flutter_background_service_ios` - `v2.3.0`](#flutter_background_service_ios---v230)
+
+---
+
+#### `flutter_background_service` - `v2.4.0`
+
+ - **REFACTOR**: split code into separate class. ([678226ba](https://github.com/ekasetiawans/flutter_background_service/commit/678226ba08966303713faa718f5a9b46e448c5d1))
+ - **FIX**: ios onBackground. ([4eb6b70d](https://github.com/ekasetiawans/flutter_background_service/commit/4eb6b70d005d43079fa53989a1352ae153ea03ae))
+ - **FEAT**: allow using custom task identifier. ([555a0618](https://github.com/ekasetiawans/flutter_background_service/commit/555a06182230c126c7f0a43f6e94317e62ccb6c3))
+
+#### `flutter_background_service_android` - `v2.5.3`
+
+ - **PERF**: improve entrypoint with args. ([5abacbe5](https://github.com/ekasetiawans/flutter_background_service/commit/5abacbe57f239d9ce1667e643d81d6b17f873f5c))
+
+#### `flutter_background_service_ios` - `v2.3.0`
+
+ - **REFACTOR**: split code into separate class. ([678226ba](https://github.com/ekasetiawans/flutter_background_service/commit/678226ba08966303713faa718f5a9b46e448c5d1))
+ - **PERF**: cancel old schedule. ([bfca5773](https://github.com/ekasetiawans/flutter_background_service/commit/bfca577324345f64faca562e32bad42ed16e92b4))
+ - **FIX**: ios onBackground. ([0b1101be](https://github.com/ekasetiawans/flutter_background_service/commit/0b1101befa66f5d1f200c6a999f7e55c876f2a10))
+ - **FIX**: ios onBackground. ([4eb6b70d](https://github.com/ekasetiawans/flutter_background_service/commit/4eb6b70d005d43079fa53989a1352ae153ea03ae))
+ - **FEAT**: allow using custom task identifier. ([555a0618](https://github.com/ekasetiawans/flutter_background_service/commit/555a06182230c126c7f0a43f6e94317e62ccb6c3))
+
+
+## 2022-09-27
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v2.5.2`](#flutter_background_service_android---v252)
+ - [`flutter_background_service` - `v2.3.10`](#flutter_background_service---v2310)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v2.3.10`
+
+---
+
+#### `flutter_background_service_android` - `v2.5.2`
+
+ - **PERF**: using exact alarm for watchdog receiver. ([6dba6670](https://github.com/ekasetiawans/flutter_background_service/commit/6dba6670965a24b9b0657ad0abc793db850a982b))
+
+
+## 2022-09-21
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.3.9`](#flutter_background_service---v239)
+ - [`flutter_background_service_android` - `v2.5.0`](#flutter_background_service_android---v250)
+ - [`flutter_background_service_ios` - `v2.2.5`](#flutter_background_service_ios---v225)
+
+---
+
+#### `flutter_background_service` - `v2.3.9`
+
+ - **FIX**: added @pragma. ([0f90cc7d](https://github.com/ekasetiawans/flutter_background_service/commit/0f90cc7d6f1ae9b0e2ab6132151e27b88814afe1))
+ - **DOCS**: update FAQ. ([53215976](https://github.com/ekasetiawans/flutter_background_service/commit/532159768bc4a14701940c8166440bb1940aa1b5))
+
+#### `flutter_background_service_android` - `v2.5.0`
+
+ - **FEAT**: added QUICKBOOT_POWERON action to intent-filter. ([46f08173](https://github.com/ekasetiawans/flutter_background_service/commit/46f08173cfb54795fb707bd521d8ed94db75cad5))
+
+#### `flutter_background_service_ios` - `v2.2.5`
+
+ - **FIX**: handle null safety. ([77513387](https://github.com/ekasetiawans/flutter_background_service/commit/775133879a1693154cf14181c3ac780aa7001710))
+
+
+## 2022-09-20
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v2.4.0`](#flutter_background_service_android---v240)
+ - [`flutter_background_service` - `v2.3.8`](#flutter_background_service---v238)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v2.3.8`
+
+---
+
+#### `flutter_background_service_android` - `v2.4.0`
+
+ - **FEAT**: revert to single process. ([515dde6a](https://github.com/ekasetiawans/flutter_background_service/commit/515dde6a49e50087c6f613ff0de8e1bd111a315b))
+
+
+## 2022-09-19
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v2.3.4`](#flutter_background_service_android---v234)
+ - [`flutter_background_service_platform_interface` - `v2.1.4`](#flutter_background_service_platform_interface---v214)
+ - [`flutter_background_service` - `v2.3.7`](#flutter_background_service---v237)
+ - [`flutter_background_service_ios` - `v2.2.4`](#flutter_background_service_ios---v224)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v2.3.7`
+ - `flutter_background_service_ios` - `v2.2.4`
+
+---
+
+#### `flutter_background_service_android` - `v2.3.4`
+
+ - **REFACTOR**: refactor java code. ([d7db0c09](https://github.com/ekasetiawans/flutter_background_service/commit/d7db0c092dcfc0af0bb8f1175ea82f3f0ccfe908))
+
+#### `flutter_background_service_platform_interface` - `v2.1.4`
+
+ - **REFACTOR**: refactor java code. ([d7db0c09](https://github.com/ekasetiawans/flutter_background_service/commit/d7db0c092dcfc0af0bb8f1175ea82f3f0ccfe908))
+
+
+## 2022-09-19
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v2.3.3`](#flutter_background_service_android---v233)
+ - [`flutter_background_service` - `v2.3.6`](#flutter_background_service---v236)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v2.3.6`
+
+---
+
+#### `flutter_background_service_android` - `v2.3.3`
+
+ - **FIX**: make final variable for backward compatibility of gradle. ([d7087ba0](https://github.com/ekasetiawans/flutter_background_service/commit/d7087ba07a580e7d16d4e416cde43ddfb531e664))
+
+
+## 2022-09-15
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.3.5`](#flutter_background_service---v235)
+ - [`flutter_background_service_android` - `v2.3.2`](#flutter_background_service_android---v232)
+
+---
+
+#### `flutter_background_service` - `v2.3.5`
+
+ - **FIX**: using Runnable instead of lambda. ([9cda867d](https://github.com/ekasetiawans/flutter_background_service/commit/9cda867d8f2dc84cf1f7f112a3e87b1fa7dc1d3d))
+
+#### `flutter_background_service_android` - `v2.3.2`
+
+ - **FIX**: using Runnable instead of lambda. ([9cda867d](https://github.com/ekasetiawans/flutter_background_service/commit/9cda867d8f2dc84cf1f7f112a3e87b1fa7dc1d3d))
+ - **DOCS**: update license. ([0c17e5de](https://github.com/ekasetiawans/flutter_background_service/commit/0c17e5dee091daa622470c8e3ba16c22ae03f8b3))
+ - **DOCS**: updated README. ([3885e301](https://github.com/ekasetiawans/flutter_background_service/commit/3885e3017729a557b0b0b7ccdb968692ba7c8a52))
+
+
+## 2022-09-15
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.3.4`](#flutter_background_service---v234)
+ - [`flutter_background_service_android` - `v2.3.1`](#flutter_background_service_android---v231)
+ - [`flutter_background_service_ios` - `v2.2.3`](#flutter_background_service_ios---v223)
+ - [`flutter_background_service_platform_interface` - `v2.1.3`](#flutter_background_service_platform_interface---v213)
+
+---
+
+#### `flutter_background_service` - `v2.3.4`
+
+ - **DOCS**: update license. ([0c17e5de](https://github.com/ekasetiawans/flutter_background_service/commit/0c17e5dee091daa622470c8e3ba16c22ae03f8b3))
+
+#### `flutter_background_service_android` - `v2.3.1`
+
+ - **DOCS**: update license. ([0c17e5de](https://github.com/ekasetiawans/flutter_background_service/commit/0c17e5dee091daa622470c8e3ba16c22ae03f8b3))
+
+#### `flutter_background_service_ios` - `v2.2.3`
+
+ - **DOCS**: update license. ([0c17e5de](https://github.com/ekasetiawans/flutter_background_service/commit/0c17e5dee091daa622470c8e3ba16c22ae03f8b3))
+
+#### `flutter_background_service_platform_interface` - `v2.1.3`
+
+ - **DOCS**: update license. ([0c17e5de](https://github.com/ekasetiawans/flutter_background_service/commit/0c17e5dee091daa622470c8e3ba16c22ae03f8b3))
+
+
+## 2022-09-15
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.3.3`](#flutter_background_service---v233)
+
+---
+
+#### `flutter_background_service` - `v2.3.3`
+
+ - **FIX**: wrong dependency version. ([34e66e13](https://github.com/ekasetiawans/flutter_background_service/commit/34e66e13f04afe760d7b4087cc7052756dcb2a9c))
+
+
+## 2022-09-15
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.3.2`](#flutter_background_service---v232)
+
+---
+
+#### `flutter_background_service` - `v2.3.2`
+
+ - **DOCS**: updated README. ([2fc9ae66](https://github.com/ekasetiawans/flutter_background_service/commit/2fc9ae66f5538ab45f3690cdaee94f89b31f16e2))
+ - **DOCS**: updated README. ([3885e301](https://github.com/ekasetiawans/flutter_background_service/commit/3885e3017729a557b0b0b7ccdb968692ba7c8a52))
+
+
+## 2022-09-15
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.3.0`](#flutter_background_service---v230)
+ - [`flutter_background_service_android` - `v2.3.0`](#flutter_background_service_android---v230)
+
+---
+
+#### `flutter_background_service` - `v2.3.0`
+
+ - **FEAT**: move android service to separated process. ([bd2e6f07](https://github.com/ekasetiawans/flutter_background_service/commit/bd2e6f075ea8a7db231c7586b8f6244bb0399ff4))
+
+#### `flutter_background_service_android` - `v2.3.0`
+
+ - **FEAT**: move android service to separated process. ([bd2e6f07](https://github.com/ekasetiawans/flutter_background_service/commit/bd2e6f075ea8a7db231c7586b8f6244bb0399ff4))
+
+
+## 2022-09-14
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.2.4`](#flutter_background_service---v224)
+ - [`flutter_background_service_platform_interface` - `v2.1.2`](#flutter_background_service_platform_interface---v212)
+ - [`flutter_background_service_ios` - `v2.2.2`](#flutter_background_service_ios---v222)
+ - [`flutter_background_service_android` - `v2.2.2`](#flutter_background_service_android---v222)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service_ios` - `v2.2.2`
+ - `flutter_background_service_android` - `v2.2.2`
+
+---
+
+#### `flutter_background_service` - `v2.2.4`
+
+ - **DOCS**: update example project for custom notification. ([d1e90d86](https://github.com/ekasetiawans/flutter_background_service/commit/d1e90d864d281747ab40170e22d91601b29927a6))
+
+#### `flutter_background_service_platform_interface` - `v2.1.2`
+
+ - **FIX**: remove duplicated properties. ([891c2029](https://github.com/ekasetiawans/flutter_background_service/commit/891c20291df9612810035219af98d732d99d200c))
+
+
+## 2022-09-14
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_platform_interface` - `v2.1.1`](#flutter_background_service_platform_interface---v211)
+ - [`flutter_background_service_android` - `v2.2.1`](#flutter_background_service_android---v221)
+ - [`flutter_background_service_ios` - `v2.2.1`](#flutter_background_service_ios---v221)
+ - [`flutter_background_service` - `v2.2.3`](#flutter_background_service---v223)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service_android` - `v2.2.1`
+ - `flutter_background_service_ios` - `v2.2.1`
+ - `flutter_background_service` - `v2.2.3`
+
+---
+
+#### `flutter_background_service_platform_interface` - `v2.1.1`
+
+ - **FIX**: missing foregroundServiceNotificationId. ([e49f6137](https://github.com/ekasetiawans/flutter_background_service/commit/e49f613726120f144b04e2246c43360756d57e5b))
+
+
+## 2022-09-14
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v2.2.0`](#flutter_background_service_android---v220)
+ - [`flutter_background_service` - `v2.2.2`](#flutter_background_service---v222)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v2.2.2`
+
+---
+
+#### `flutter_background_service_android` - `v2.2.0`
+
+ - **FEAT**: expose notification id for foreground service. ([47b7089c](https://github.com/ekasetiawans/flutter_background_service/commit/47b7089c5e4ab18f3a35558d6c7ec2d50fc8d3f1))
+
+
+## 2022-09-14
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v2.1.1`](#flutter_background_service_android---v211)
+ - [`flutter_background_service` - `v2.2.1`](#flutter_background_service---v221)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v2.2.1`
+
+---
+
+#### `flutter_background_service_android` - `v2.1.1`
+
+ - **PERF**: improve android background service. ([e01a3fa2](https://github.com/ekasetiawans/flutter_background_service/commit/e01a3fa2938479f31a525c23ff888c03b496fa70))
+
+
+## 2022-09-14
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.2.0`](#flutter_background_service---v220)
+ - [`flutter_background_service_android` - `v2.1.0`](#flutter_background_service_android---v210)
+ - [`flutter_background_service_ios` - `v2.2.0`](#flutter_background_service_ios---v220)
+ - [`flutter_background_service_platform_interface` - `v2.1.0`](#flutter_background_service_platform_interface---v210)
+
+---
+
+#### `flutter_background_service` - `v2.2.0`
+
+ - **FEAT**: using entrypoint instead of dart callback and added initial notification info for android. ([b0fc8f32](https://github.com/ekasetiawans/flutter_background_service/commit/b0fc8f32d59fa582c37fcd6e2349fab32aac245b))
+
+#### `flutter_background_service_android` - `v2.1.0`
+
+ - **FEAT**: using entrypoint instead of dart callback and added initial notification info for android. ([b0fc8f32](https://github.com/ekasetiawans/flutter_background_service/commit/b0fc8f32d59fa582c37fcd6e2349fab32aac245b))
+
+#### `flutter_background_service_ios` - `v2.2.0`
+
+ - **FIX**: added pragma vm:entry-point to ios. ([7b44a2a4](https://github.com/ekasetiawans/flutter_background_service/commit/7b44a2a4ae977bd723874900eca689435989cfcd))
+ - **FEAT**: using entrypoint instead of dart callback and added initial notification info for android. ([b0fc8f32](https://github.com/ekasetiawans/flutter_background_service/commit/b0fc8f32d59fa582c37fcd6e2349fab32aac245b))
+
+#### `flutter_background_service_platform_interface` - `v2.1.0`
+
+ - **FEAT**: using entrypoint instead of dart callback and added initial notification info for android. ([b0fc8f32](https://github.com/ekasetiawans/flutter_background_service/commit/b0fc8f32d59fa582c37fcd6e2349fab32aac245b))
+
+
+## 2022-06-14
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v2.0.3`](#flutter_background_service_android---v203)
+ - [`flutter_background_service` - `v2.1.3`](#flutter_background_service---v213)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v2.1.3`
+
+---
+
+#### `flutter_background_service_android` - `v2.0.3`
+
+ - **FIX**: wakelock not released. ([e427f3b7](https://github.com/ekasetiawans/flutter_background_service/commit/e427f3b70138ec26f9671c2617f9061f25eade6f))
+
+
+## 2022-05-30
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v2.0.2`](#flutter_background_service_android---v202)
+ - [`flutter_background_service` - `v2.1.2`](#flutter_background_service---v212)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v2.1.2`
+
+---
+
+#### `flutter_background_service_android` - `v2.0.2`
+
+ - **FIX**: autoStartOnBootMode #160. ([16a785a3](https://github.com/ekasetiawans/flutter_background_service/commit/16a785a3cbcb4226321ddddf681b6554196fa4db))
+
+
+## 2022-05-27
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v2.0.1`](#flutter_background_service_android---v201)
+ - [`flutter_background_service` - `v2.1.1`](#flutter_background_service---v211)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v2.1.1`
+
+---
+
+#### `flutter_background_service_android` - `v2.0.1`
+
+ - **FIX**: release wakelock. ([c0830250](https://github.com/ekasetiawans/flutter_background_service/commit/c0830250b90a1ba6e2543a1bb25a13fba59a56b7))
+
+
+## 2022-05-19
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.1.0`](#flutter_background_service---v210)
+ - [`flutter_background_service_ios` - `v2.1.0`](#flutter_background_service_ios---v210)
+
+---
+
+#### `flutter_background_service` - `v2.1.0`
+
+ - **FEAT**: automatically register plugins. ([3a0d0d53](https://github.com/ekasetiawans/flutter_background_service/commit/3a0d0d53110cdaf92caf4f329cd80034121c9ea6))
+
+#### `flutter_background_service_ios` - `v2.1.0`
+
+ - **FEAT**: automatically register plugins. ([3a0d0d53](https://github.com/ekasetiawans/flutter_background_service/commit/3a0d0d53110cdaf92caf4f329cd80034121c9ea6))
+
+
+## 2022-04-10
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - [`flutter_background_service` - `v2.0.0`](#flutter_background_service---v200)
+ - [`flutter_background_service_android` - `v2.0.0`](#flutter_background_service_android---v200)
+ - [`flutter_background_service_ios` - `v2.0.0`](#flutter_background_service_ios---v200)
+ - [`flutter_background_service_platform_interface` - `v2.0.0`](#flutter_background_service_platform_interface---v200)
+
+Packages with other changes:
+
+ - There are no other changes in this release.
+
+Packages graduated to a stable release (see pre-releases prior to the stable version for changelog entries):
+
+ - `flutter_background_service` - `v2.0.0`
+ - `flutter_background_service_android` - `v2.0.0`
+ - `flutter_background_service_ios` - `v2.0.0`
+ - `flutter_background_service_platform_interface` - `v2.0.0`
+
+---
+
+#### `flutter_background_service` - `v2.0.0`
+
+#### `flutter_background_service_android` - `v2.0.0`
+
+#### `flutter_background_service_ios` - `v2.0.0`
+
+#### `flutter_background_service_platform_interface` - `v2.0.0`
+
+
+## 2022-04-08
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - [`example` - `v2.0.0`](#example---v200)
+
+Packages with other changes:
+
+ - There are no other changes in this release.
+
+---
+
+#### `example` - `v2.0.0`
+
+ - **REFACTOR**: fix sampe project dependency version. ([a83b9f62](https://github.com/ekasetiawans/flutter_background_service/commit/a83b9f62dd0d16f8bd23657ef1f36cb7d51fb0fa))
+ - **FIX**: errors. ([13a6f841](https://github.com/ekasetiawans/flutter_background_service/commit/13a6f841f5d677ceb0010e8ba1bf9d7af53adbcf))
+ - **FIX**: podspec. ([b46f9a3f](https://github.com/ekasetiawans/flutter_background_service/commit/b46f9a3f425f66e6bda34650e713da299f922a73))
+ - **FEAT**: managed with melos. ([2313273a](https://github.com/ekasetiawans/flutter_background_service/commit/2313273a3e728e37e2fb973ccc146841c8af48da))
+ - **DOCS**: change method name. ([9f05e7f6](https://github.com/ekasetiawans/flutter_background_service/commit/9f05e7f6a260d8f63788cb21e8e7c2cdc91769eb))
+ - **BREAKING** **FEAT**: implement new concept. ([c8ce9c0b](https://github.com/ekasetiawans/flutter_background_service/commit/c8ce9c0bab82137dea031af124b84510286661f7))
+
+
+## 2022-04-08
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.0.0-dev.3`](#flutter_background_service---v200-dev3)
+ - [`flutter_background_service_ios` - `v2.0.0-dev.2`](#flutter_background_service_ios---v200-dev2)
+
+---
+
+#### `flutter_background_service` - `v2.0.0-dev.3`
+
+ - **REFACTOR**: fix sampe project dependency version. ([a83b9f62](https://github.com/ekasetiawans/flutter_background_service/commit/a83b9f62dd0d16f8bd23657ef1f36cb7d51fb0fa))
+
+#### `flutter_background_service_ios` - `v2.0.0-dev.2`
+
+ - **FIX**: swift compile error. ([b75128ad](https://github.com/ekasetiawans/flutter_background_service/commit/b75128ad3100b4e505e4a3f8a037b07b9be547ad))
+
+
+## 2022-04-08
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_ios` - `v2.0.0-dev.1`](#flutter_background_service_ios---v200-dev1)
+ - [`flutter_background_service` - `v2.0.0-dev.2`](#flutter_background_service---v200-dev2)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v2.0.0-dev.2`
+
+---
+
+#### `flutter_background_service_ios` - `v2.0.0-dev.1`
+
+ - **REFACTOR**: update BGTaskScheduler flow. ([414bb21b](https://github.com/ekasetiawans/flutter_background_service/commit/414bb21b4d0af6112491fb81ee3246b7ef8a5c5b))
+
+
+## 2022-04-05
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v2.0.0-dev.1`](#flutter_background_service---v200-dev1)
+
+---
+
+#### `flutter_background_service` - `v2.0.0-dev.1`
+
+ - **DOCS**: update README. ([caf8125c](https://github.com/ekasetiawans/flutter_background_service/commit/caf8125cf557b009e06995fcc7ea8a006eba3dae))
+
+
+## 2022-04-05
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - [`flutter_background_service` - `v2.0.0-dev.0`](#flutter_background_service---v200-dev0)
+ - [`flutter_background_service_android` - `v2.0.0-dev.0`](#flutter_background_service_android---v200-dev0)
+ - [`flutter_background_service_ios` - `v2.0.0-dev.0`](#flutter_background_service_ios---v200-dev0)
+ - [`flutter_background_service_platform_interface` - `v2.0.0-dev.0`](#flutter_background_service_platform_interface---v200-dev0)
+
+Packages with other changes:
+
+ - There are no other changes in this release.
+
+---
+
+#### `flutter_background_service` - `v2.0.0-dev.0`
+
+ - **BREAKING** **FEAT**: implement new concept. ([c8ce9c0b](https://github.com/ekasetiawans/flutter_background_service/commit/c8ce9c0bab82137dea031af124b84510286661f7))
+
+#### `flutter_background_service_android` - `v2.0.0-dev.0`
+
+ - **BREAKING** **FEAT**: implement new concept. ([c8ce9c0b](https://github.com/ekasetiawans/flutter_background_service/commit/c8ce9c0bab82137dea031af124b84510286661f7))
+
+#### `flutter_background_service_ios` - `v2.0.0-dev.0`
+
+ - **BREAKING** **FEAT**: implement new concept. ([c8ce9c0b](https://github.com/ekasetiawans/flutter_background_service/commit/c8ce9c0bab82137dea031af124b84510286661f7))
+
+#### `flutter_background_service_platform_interface` - `v2.0.0-dev.0`
+
+ - **BREAKING** **FEAT**: introduce ServiceInstance. ([425279b0](https://github.com/ekasetiawans/flutter_background_service/commit/425279b09378fbcd8e66295ce526f2c4f15d741c))
+
+
+## 2022-03-18
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v1.0.4`](#flutter_background_service---v104)
+
+---
+
+#### `flutter_background_service` - `v1.0.4`
+
+ - **DOCS**: update README. ([88917672](https://github.com/ekasetiawans/flutter_background_service/commit/88917672c617b47691f71f964ee7ff8bd9f1d6f3))
+
+
+## 2022-03-18
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v1.0.2`](#flutter_background_service_android---v102)
+ - [`flutter_background_service_ios` - `v1.0.2`](#flutter_background_service_ios---v102)
+ - [`flutter_background_service_platform_interface` - `v1.0.2`](#flutter_background_service_platform_interface---v102)
+ - [`flutter_background_service` - `v1.0.3`](#flutter_background_service---v103)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v1.0.3`
+
+---
+
+#### `flutter_background_service_android` - `v1.0.2`
+
+ - **DOCS**: readme link. ([1479b91c](https://github.com/ekasetiawans/flutter_background_service/commit/1479b91cd80d637335de1314a528bcf51ebb7c0f))
+
+#### `flutter_background_service_ios` - `v1.0.2`
+
+ - **DOCS**: readme link. ([1479b91c](https://github.com/ekasetiawans/flutter_background_service/commit/1479b91cd80d637335de1314a528bcf51ebb7c0f))
+
+#### `flutter_background_service_platform_interface` - `v1.0.2`
+
+ - **DOCS**: readme link. ([1479b91c](https://github.com/ekasetiawans/flutter_background_service/commit/1479b91cd80d637335de1314a528bcf51ebb7c0f))
+
+
+## 2022-03-18
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v1.0.1`](#flutter_background_service_android---v101)
+ - [`flutter_background_service_ios` - `v1.0.1`](#flutter_background_service_ios---v101)
+ - [`flutter_background_service_platform_interface` - `v1.0.1`](#flutter_background_service_platform_interface---v101)
+ - [`flutter_background_service` - `v1.0.2`](#flutter_background_service---v102)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v1.0.2`
+
+---
+
+#### `flutter_background_service_android` - `v1.0.1`
+
+ - **DOCS**: update README. ([fbf5e0ab](https://github.com/ekasetiawans/flutter_background_service/commit/fbf5e0abeeb9296ba32361b8af0a298ee9e71527))
+
+#### `flutter_background_service_ios` - `v1.0.1`
+
+ - **DOCS**: update README. ([fbf5e0ab](https://github.com/ekasetiawans/flutter_background_service/commit/fbf5e0abeeb9296ba32361b8af0a298ee9e71527))
+
+#### `flutter_background_service_platform_interface` - `v1.0.1`
+
+ - **DOCS**: update README. ([fbf5e0ab](https://github.com/ekasetiawans/flutter_background_service/commit/fbf5e0abeeb9296ba32361b8af0a298ee9e71527))
+
+
+## 2022-03-18
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v1.0.1`](#flutter_background_service---v101)
+
+---
+
+#### `flutter_background_service` - `v1.0.1`
+
+ - **DOCS**: change method name. ([9f05e7f6](https://github.com/ekasetiawans/flutter_background_service/commit/9f05e7f6a260d8f63788cb21e8e7c2cdc91769eb))
+
+
+## 2022-03-18
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_android` - `v0.0.2`](#flutter_background_service_android---v002)
+ - [`flutter_background_service_ios` - `v0.0.2`](#flutter_background_service_ios---v002)
+ - [`flutter_background_service` - `v0.2.8+5`](#flutter_background_service---v0285)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service` - `v0.2.8+5`
+
+---
+
+#### `flutter_background_service_android` - `v0.0.2`
+
+ - **FEAT**: migrate to plugin platform interface. ([70e08ff0](https://github.com/ekasetiawans/flutter_background_service/commit/70e08ff03232c31946cc8eb7896f69c830f23322))
+
+#### `flutter_background_service_ios` - `v0.0.2`
+
+ - **FEAT**: migrate to plugin platform interface. ([70e08ff0](https://github.com/ekasetiawans/flutter_background_service/commit/70e08ff03232c31946cc8eb7896f69c830f23322))
+
+
+## 2022-03-17
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v0.2.8+4`](#flutter_background_service---v0284)
+ - [`flutter_background_service_android` - `v0.0.1+3`](#flutter_background_service_android---v0013)
+ - [`flutter_background_service_ios` - `v0.0.1+4`](#flutter_background_service_ios---v0014)
+ - [`flutter_background_service_platform_interface` - `v0.0.1+3`](#flutter_background_service_platform_interface---v0013)
+
+---
+
+#### `flutter_background_service` - `v0.2.8+4`
+
+ - **FIX**: errors. ([13a6f841](https://github.com/ekasetiawans/flutter_background_service/commit/13a6f841f5d677ceb0010e8ba1bf9d7af53adbcf))
+
+#### `flutter_background_service_android` - `v0.0.1+3`
+
+ - **FIX**: errors. ([13a6f841](https://github.com/ekasetiawans/flutter_background_service/commit/13a6f841f5d677ceb0010e8ba1bf9d7af53adbcf))
+
+#### `flutter_background_service_ios` - `v0.0.1+4`
+
+ - **FIX**: errors. ([13a6f841](https://github.com/ekasetiawans/flutter_background_service/commit/13a6f841f5d677ceb0010e8ba1bf9d7af53adbcf))
+
+#### `flutter_background_service_platform_interface` - `v0.0.1+3`
+
+ - **FIX**: errors. ([13a6f841](https://github.com/ekasetiawans/flutter_background_service/commit/13a6f841f5d677ceb0010e8ba1bf9d7af53adbcf))
+
+
+## 2022-03-17
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service` - `v0.2.8+3`](#flutter_background_service---v0283)
+ - [`flutter_background_service_ios` - `v0.0.1+3`](#flutter_background_service_ios---v0013)
+
+---
+
+#### `flutter_background_service` - `v0.2.8+3`
+
+ - **FIX**: podspec. ([b46f9a3f](https://github.com/ekasetiawans/flutter_background_service/commit/b46f9a3f425f66e6bda34650e713da299f922a73))
+
+#### `flutter_background_service_ios` - `v0.0.1+3`
+
+ - **FIX**: podspec. ([b46f9a3f](https://github.com/ekasetiawans/flutter_background_service/commit/b46f9a3f425f66e6bda34650e713da299f922a73))
+
+
+## 2022-03-17
+
+### Changes
+
+---
+
+Packages with breaking changes:
+
+ - There are no breaking changes in this release.
+
+Packages with other changes:
+
+ - [`flutter_background_service_platform_interface` - `v0.0.1+2`](#flutter_background_service_platform_interface---v0012)
+ - [`flutter_background_service_ios` - `v0.0.1+2`](#flutter_background_service_ios---v0012)
+ - [`flutter_background_service_android` - `v0.0.1+2`](#flutter_background_service_android---v0012)
+ - [`flutter_background_service` - `v0.2.8+2`](#flutter_background_service---v0282)
+
+Packages with dependency updates only:
+
+> Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.
+
+ - `flutter_background_service_ios` - `v0.0.1+2`
+ - `flutter_background_service_android` - `v0.0.1+2`
+ - `flutter_background_service` - `v0.2.8+2`
+
+---
+
+#### `flutter_background_service_platform_interface` - `v0.0.1+2`
+
+ - **FIX**: method channel. ([1a1e3527](https://github.com/ekasetiawans/flutter_background_service/commit/1a1e3527465a4ede4c188b4e1aa51ce552e697c1))
-* TODO: Describe initial release.
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 6f3b2ac9..00000000
--- a/LICENSE
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright 2017 The Chromium Authors. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of Google Inc. nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/README.md b/README.md
index 449163fc..b94b0048 100644
--- a/README.md
+++ b/README.md
@@ -1,17 +1,272 @@
-# flutter_background_service
-
A flutter plugin for execute dart code in background.
+## Support me to maintain this plugin continously with a cup of coffee.
+
+[](https://www.buymeacoffee.com/ekasetiawans)
+
## Android
-- No additional setting is required.
- To change notification icon, just add drawable icon with name `ic_bg_service_small`.
+> **WARNING**:
+>
+> Please make sure your project already use the version of gradle tools below:
+> - in android/build.gradle ```classpath 'com.android.tools.build:gradle:7.4.2'```
+> - in android/build.gradle ```ext.kotlin_version = '1.8.10'```
+> - in android/gradle/wrapper/gradle-wrapper.properties ```distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip```
+
+### Configuration required for Foreground Services on Android 14+ (SDK 34)
+
+Applications that target SDK 34 and use foreground services need to include some additional configuration to declare the type of foreground service they use:
+
+* Determine the type or types of foreground service your app requires by consulting [the documentation](https://developer.android.com/about/versions/14/changes/fgs-types-required)
+
+* Add the corresponding permission to your `android/app/src/main/AndroidManifest.xml` file:
+
+```xml
+
+ ...
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+ ...
+
+
+```
+
+* Add the corresponding foreground service types to your AndroidConfiguration class:
+```dart
+await service.configure(
+ // IOS configuration
+ androidConfiguration: AndroidConfiguration(
+ ...
+ // Add this
+ foregroundServiceTypes: [AndroidForegroundType.WhatForegroundServiceTypeDoYouWant]
+ // Example:
+ // foregroundServiceTypes: [AndroidForegroundType.mediaPlayback]
+ ),
+ );
+```
+
+> **WARNING**:
+> * YOU MUST MAKE SURE ANY REQUIRED PERMISSIONS TO BE GRANTED BEFORE YOU START THE SERVICE
+> * THE TYPES YOU PUT IN foregroundServiceTypes, MUST BE DECLARED IN MANIFEST
+
+
+### Using custom notification for Foreground Service
+You can make your own custom notification for foreground service. It can give you more power to make notifications more attractive to users, for example adding progressbars, buttons, actions, etc. The example below is using [flutter_local_notifications](https://pub.dev/packages/flutter_local_notifications) plugin, but you can use any other notification plugin. You can follow how to make it below:
+
+- Notification Channel
+```dart
+
+Future main() async {
+ WidgetsFlutterBinding.ensureInitialized();
+ await initializeService();
+
+ runApp(MyApp());
+}
+
+// this will be used as notification channel id
+const notificationChannelId = 'my_foreground';
+
+// this will be used for notification id, So you can update your custom notification with this id.
+const notificationId = 888;
+
+Future initializeService() async {
+ final service = FlutterBackgroundService();
+
+ const AndroidNotificationChannel channel = AndroidNotificationChannel(
+ notificationChannelId, // id
+ 'MY FOREGROUND SERVICE', // title
+ description:
+ 'This channel is used for important notifications.', // description
+ importance: Importance.low, // importance must be at low or higher level
+ );
+
+ final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
+ FlutterLocalNotificationsPlugin();
+
+ await flutterLocalNotificationsPlugin
+ .resolvePlatformSpecificImplementation<
+ AndroidFlutterLocalNotificationsPlugin>()
+ ?.createNotificationChannel(channel);
+
+ await service.configure(
+ androidConfiguration: AndroidConfiguration(
+ // this will be executed when app is in foreground or background in separated isolate
+ onStart: onStart,
+
+ // auto start service
+ autoStart: true,
+ isForegroundMode: true,
+
+ notificationChannelId: notificationChannelId, // this must match with notification channel you created above.
+ initialNotificationTitle: 'AWESOME SERVICE',
+ initialNotificationContent: 'Initializing',
+ foregroundServiceNotificationId: notificationId,
+ ),
+ ...
+```
+
+- Update notification info
+
+```dart
+
+Future onStart(ServiceInstance service) async {
+ // Only available for flutter 3.0.0 and later
+ DartPluginRegistrant.ensureInitialized();
+
+ final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
+ FlutterLocalNotificationsPlugin();
+
+ // bring to foreground
+ Timer.periodic(const Duration(seconds: 1), (timer) async {
+ if (service is AndroidServiceInstance) {
+ if (await service.isForegroundService()) {
+ flutterLocalNotificationsPlugin.show(
+ notificationId,
+ 'COOL SERVICE',
+ 'Awesome ${DateTime.now()}',
+ const NotificationDetails(
+ android: AndroidNotificationDetails(
+ notificationChannelId,
+ 'MY FOREGROUND SERVICE',
+ icon: 'ic_bg_service_small',
+ ongoing: true,
+ ),
+ ),
+ );
+ }
+ }
+ });
+}
+```
+
+
+### Using Background Service Even when The Application Is Closed
+
+You can use this feature in order to execute code in background.
+Very useful to fetch realtime data from a server and push notifications.
+
+> **Must Know**:
+> * ``` isForegroundMode: false ``` : The background mode requires running in release mode and requires disabling battery optimization so that the service stays up when the user closes the application.
+> * ``` isForegroundMode: true ``` : Displays a silent notification when used according to [Android's Policy](https://developer.android.com/develop/background-work/services)
+
+
+- Simple implementation using Socket.io
+```dart
+import 'dart:async';
+import 'dart:ui';
+import 'package:socket_io_client/socket_io_client.dart' as io;
+import 'package:flutter/material.dart';
+import 'package:flutter_background_service/flutter_background_service.dart';
+
+Future main() async {
+ WidgetsFlutterBinding.ensureInitialized();
+ await initializeService();
+
+ runApp(MyApp());
+}
+
+void startBackgroundService() {
+ final service = FlutterBackgroundService();
+ service.startService();
+}
+
+void stopBackgroundService() {
+ final service = FlutterBackgroundService();
+ service.invoke("stop");
+}
+
+Future initializeService() async {
+ final service = FlutterBackgroundService();
+
+ await service.configure(
+ iosConfiguration: IosConfiguration(
+ autoStart: true,
+ onForeground: onStart,
+ onBackground: onIosBackground,
+ ),
+ androidConfiguration: AndroidConfiguration(
+ autoStart: true,
+ onStart: onStart,
+ isForegroundMode: false,
+ autoStartOnBoot: true,
+ ),
+ );
+}
+
+@pragma('vm:entry-point')
+Future onIosBackground(ServiceInstance service) async {
+ WidgetsFlutterBinding.ensureInitialized();
+ DartPluginRegistrant.ensureInitialized();
+
+ return true;
+}
+
+@pragma('vm:entry-point')
+void onStart(ServiceInstance service) async {
+ final socket = io.io("your-server-url", {
+ 'transports': ['websocket'],
+ 'autoConnect': true,
+ });
+ socket.onConnect((_) {
+ print('Connected. Socket ID: ${socket.id}');
+ // Implement your socket logic here
+ // For example, you can listen for events or send data
+ });
+
+ socket.onDisconnect((_) {
+ print('Disconnected');
+ });
+ socket.on("event-name", (data) {
+ //do something here like pushing a notification
+ });
+ service.on("stop").listen((event) {
+ service.stopSelf();
+ print("background process is now stopped");
+ });
+
+ service.on("start").listen((event) {});
+
+ Timer.periodic(const Duration(seconds: 1), (timer) {
+ socket.emit("event-name", "your-message");
+ print("service is successfully running ${DateTime.now().second}");
+ });
+}
+```
+
## iOS
- Enable `background_fetch` capability in xcode (optional), if you wish ios to execute `IosConfiguration.onBackground` callback.
-- For iOS 13 (using `BGTaskScheduler`), insert lines below into your ios/Runner/Info.plist
+- For iOS 13 and Later (using `BGTaskScheduler`), insert lines below into your ios/Runner/Info.plist
```plist
BGTaskSchedulerPermittedIdentifiers
@@ -20,12 +275,45 @@ A flutter plugin for execute dart code in background.
```
+- You can also using your own custom identifier
+In `ios/Runner/AppDelegate.swift` add line below
+
+```swift
+import UIKit
+import Flutter
+import flutter_background_service_ios // add this
+
+@UIApplicationMain
+@objc class AppDelegate: FlutterAppDelegate {
+ override func application(
+ _ application: UIApplication,
+ didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
+ ) -> Bool {
+ /// Add this line
+ SwiftFlutterBackgroundServicePlugin.taskIdentifier = "your.custom.task.identifier"
+
+ GeneratedPluginRegistrant.register(with: self)
+ return super.application(application, didFinishLaunchingWithOptions: launchOptions)
+ }
+}
+```
+
## Usage
-- Call `FlutterBackgroundService.configure` to configure handler that will be executed by the Service.
+- Call `FlutterBackgroundService.configure()` to configure handler that will be executed by the Service.
+
+> It's highly recommended to call this method in `main()` method to ensure the callback handler updated.
+
- Call `FlutterBackgroundService.start` to start the Service if `autoStart` is not enabled.
-- Since the Service using Isolates, You won't be able to share reference between UI and Service. You can communicate between UI and Service using `sendData()` and `onDataReceived`.
+- Since the Service using Isolates, You won't be able to share reference between UI and Service. You can communicate between UI and Service using `invoke()` and `on(String method)`.
+
+## Migration
+
+- `sendData()` renamed to `invoke(String method)`
+- `onDataReceived()` renamed to `on(String method)`
+- Now you have to use `ServiceInstance` object inside `onStart` method instead of creating a new `FlutterBackgroundService` object. See the example project.
+- Only use `FlutterBackgroundService` class in UI Isolate and `ServiceInstance` in background isolate.
## FAQ
### Why the service not started automatically?
@@ -35,3 +323,28 @@ Some android device manufacturers have a custom android os for example MIUI from
### Service killed by system and not respawn?
Try to disable battery optimization for your app.
+
+### My notification icon not changed, how to solve it?
+
+Make sure you had created notification icons named `ic_bg_service_small` and placed in res/drawable-mdpi, res/drawable-hdpi, res/drawable-xhdpi, res/drawable-xxhdpi for PNGs file, and res/drawable-anydpi-v24 for XML (Vector) file.
+
+### Service not running in Release Mode
+
+Add `@pragma('vm:entry-point')` to the `onStart()` method.
+Example:
+
+```dart
+
+@pragma('vm:entry-point')
+void onStart(ServiceInstance service){
+ ...
+}
+```
+
+### Service terminated when app is in background (minimized) on iOS
+
+Keep in your mind, iOS doesn't have a long running service feature like Android. So, it's not possible to keep your application running when it's in background because the OS will suspend your application soon. Currently, this plugin provide onBackground method, that will be executed periodically by `Background Fetch` capability provided by iOS. It cannot be faster than 15 minutes and only alive about 15-30 seconds.
+
+## Discord
+
+Click [here](https://discord.gg/aqk6JjBm) to join to my discord channels
diff --git a/android/src/main/java/id/flutter/flutter_background_service/BackgroundService.java b/android/src/main/java/id/flutter/flutter_background_service/BackgroundService.java
deleted file mode 100644
index eea4bf6c..00000000
--- a/android/src/main/java/id/flutter/flutter_background_service/BackgroundService.java
+++ /dev/null
@@ -1,312 +0,0 @@
-package id.flutter.flutter_background_service;
-
-import static android.os.Build.VERSION.SDK_INT;
-
-import android.app.AlarmManager;
-import android.app.NotificationChannel;
-import android.app.NotificationManager;
-import android.app.PendingIntent;
-import android.app.Service;
-import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.os.Build;
-import android.os.IBinder;
-import android.os.PowerManager;
-import android.os.PowerManager.WakeLock;
-import android.util.Log;
-import androidx.annotation.NonNull;
-import androidx.core.app.AlarmManagerCompat;
-import androidx.core.app.NotificationCompat;
-import androidx.localbroadcastmanager.content.LocalBroadcastManager;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.lang.UnsatisfiedLinkError;
-
-import io.flutter.FlutterInjector;
-import io.flutter.app.FlutterApplication;
-import io.flutter.embedding.engine.FlutterEngine;
-import io.flutter.embedding.engine.dart.DartExecutor;
-import io.flutter.embedding.engine.loader.FlutterLoader;
-import io.flutter.plugin.common.JSONMethodCodec;
-import io.flutter.plugin.common.MethodCall;
-import io.flutter.plugin.common.MethodChannel;
-import io.flutter.view.FlutterCallbackInformation;
-import io.flutter.view.FlutterMain;
-
-public class BackgroundService extends Service implements MethodChannel.MethodCallHandler {
- private static final String TAG = "BackgroundService";
- private FlutterEngine backgroundEngine;
- private MethodChannel methodChannel;
- private DartExecutor.DartCallback dartCallback;
- private boolean isManuallyStopped = false;
-
- String notificationTitle = "Background Service";
- String notificationContent = "Running";
- private static final String LOCK_NAME = BackgroundService.class.getName()
- + ".Lock";
- private static volatile WakeLock lockStatic = null; // notice static
-
- synchronized private static PowerManager.WakeLock getLock(Context context) {
- if (lockStatic == null) {
- PowerManager mgr = (PowerManager) context
- .getSystemService(Context.POWER_SERVICE);
- lockStatic = mgr.newWakeLock(PowerManager.FULL_WAKE_LOCK,
- LOCK_NAME);
- lockStatic.setReferenceCounted(true);
- }
- return (lockStatic);
- }
-
- @Override
- public IBinder onBind(Intent intent) {
- return null;
- }
-
- public static void enqueue(Context context) {
- Intent intent = new Intent(context, WatchdogReceiver.class);
- AlarmManager manager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S){
- PendingIntent pIntent = PendingIntent.getBroadcast(context, 111, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE);
- AlarmManagerCompat.setAndAllowWhileIdle(manager, AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 5000, pIntent);
- return;
- }
-
- PendingIntent pIntent = PendingIntent.getBroadcast(context, 111, intent, PendingIntent.FLAG_UPDATE_CURRENT);
- AlarmManagerCompat.setAndAllowWhileIdle(manager, AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 5000, pIntent);
- }
-
- public void setAutoStartOnBootMode(boolean value) {
- SharedPreferences pref = getSharedPreferences("id.flutter.background_service", MODE_PRIVATE);
- pref.edit().putBoolean("auto_start_on_boot", value).apply();
- }
-
- public static boolean isAutoStartOnBootMode(Context context) {
- SharedPreferences pref = context.getSharedPreferences("id.flutter.background_service", MODE_PRIVATE);
- return pref.getBoolean("auto_start_on_boot", true);
- }
-
- public void setForegroundServiceMode(boolean value) {
- SharedPreferences pref = getSharedPreferences("id.flutter.background_service", MODE_PRIVATE);
- pref.edit().putBoolean("is_foreground", value).apply();
- }
-
- public static boolean isForegroundService(Context context) {
- SharedPreferences pref = context.getSharedPreferences("id.flutter.background_service", MODE_PRIVATE);
- return pref.getBoolean("is_foreground", true);
- }
-
- public void setManuallyStopped(boolean value) {
- SharedPreferences pref = getSharedPreferences("id.flutter.background_service", MODE_PRIVATE);
- pref.edit().putBoolean("is_manually_stopped", value).apply();
- }
-
- public static boolean isManuallyStopped(Context context) {
- SharedPreferences pref = context.getSharedPreferences("id.flutter.background_service", MODE_PRIVATE);
- return pref.getBoolean("is_manually_stopped", false);
- }
-
- @Override
- public void onCreate() {
- super.onCreate();
- createNotificationChannel();
- notificationContent = "Preparing";
- updateNotificationInfo();
- }
-
- @Override
- public void onDestroy() {
- if (!isManuallyStopped) {
- enqueue(this);
- } else {
- setManuallyStopped(true);
- }
- stopForeground(true);
- isRunning.set(false);
-
- if (backgroundEngine != null) {
- backgroundEngine.getServiceControlSurface().detachFromService();
- backgroundEngine.destroy();
- backgroundEngine = null;
- }
-
- methodChannel = null;
- dartCallback = null;
- super.onDestroy();
- }
-
- private void createNotificationChannel() {
- if (SDK_INT >= Build.VERSION_CODES.O) {
- CharSequence name = "Background Service";
- String description = "Executing process in background";
-
- int importance = NotificationManager.IMPORTANCE_LOW;
- NotificationChannel channel = new NotificationChannel("FOREGROUND_DEFAULT", name, importance);
- channel.setDescription(description);
-
- NotificationManager notificationManager = getSystemService(NotificationManager.class);
- notificationManager.createNotificationChannel(channel);
- }
- }
-
- protected void updateNotificationInfo() {
- if (isForegroundService(this)) {
-
- String packageName = getApplicationContext().getPackageName();
- Intent i = getPackageManager().getLaunchIntentForPackage(packageName);
-
- PendingIntent pi;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S){
- pi = PendingIntent.getActivity(BackgroundService.this, 99778, i, PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE);
- } else {
- pi = PendingIntent.getActivity(BackgroundService.this, 99778, i, PendingIntent.FLAG_CANCEL_CURRENT);
- }
-
- NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this, "FOREGROUND_DEFAULT")
- .setSmallIcon(R.drawable.ic_bg_service_small)
- .setAutoCancel(true)
- .setOngoing(true)
- .setContentTitle(notificationTitle)
- .setContentText(notificationContent)
- .setContentIntent(pi);
-
- startForeground(99778, mBuilder.build());
- }
- }
-
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- setManuallyStopped(false);
- enqueue(this);
- runService();
- getLock(getApplicationContext()).acquire();
-
- return START_STICKY;
- }
-
- AtomicBoolean isRunning = new AtomicBoolean(false);
-
- private void runService() {
- try {
- Log.d(TAG, "runService");
- if (isRunning.get() || (backgroundEngine != null && !backgroundEngine.getDartExecutor().isExecutingDart()))
- return;
- updateNotificationInfo();
-
- SharedPreferences pref = getSharedPreferences("id.flutter.background_service", MODE_PRIVATE);
- long callbackHandle = pref.getLong("callback_handle", 0);
-
- // initialize flutter if its not initialized yet
- if (!FlutterInjector.instance().flutterLoader().initialized()) {
- FlutterInjector.instance().flutterLoader().startInitialization(getApplicationContext());
- }
-
- FlutterInjector.instance().flutterLoader().ensureInitializationComplete(getApplicationContext(), null);
- FlutterCallbackInformation callback = FlutterCallbackInformation.lookupCallbackInformation(callbackHandle);
- if (callback == null) {
- Log.e(TAG, "callback handle not found");
- return;
- }
-
- isRunning.set(true);
- backgroundEngine = new FlutterEngine(this);
- backgroundEngine.getServiceControlSurface().attachToService(BackgroundService.this, null, isForegroundService(this));
-
- methodChannel = new MethodChannel(backgroundEngine.getDartExecutor().getBinaryMessenger(), "id.flutter/background_service_bg", JSONMethodCodec.INSTANCE);
- methodChannel.setMethodCallHandler(this);
-
- dartCallback = new DartExecutor.DartCallback(getAssets(), FlutterInjector.instance().flutterLoader().findAppBundlePath(), callback);
- backgroundEngine.getDartExecutor().executeDartCallback(dartCallback);
- } catch (UnsatisfiedLinkError e) {
- notificationContent = "Error " +e.getMessage();
- updateNotificationInfo();
-
- Log.w(TAG, "UnsatisfiedLinkError: After a reboot this may happen for a short period and it is ok to ignore then!" + e.getMessage());
- }
- }
-
- public void receiveData(JSONObject data) {
- if (methodChannel != null) {
- try {
- methodChannel.invokeMethod("onReceiveData", data);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- @Override
- public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result result) {
- String method = call.method;
-
- try {
- if (method.equalsIgnoreCase("setNotificationInfo")) {
- JSONObject arg = (JSONObject) call.arguments;
- if (arg.has("title")) {
- notificationTitle = arg.getString("title");
- notificationContent = arg.getString("content");
- updateNotificationInfo();
- result.success(true);
- return;
- }
- }
-
- if (method.equalsIgnoreCase("setAutoStartOnBootMode")) {
- JSONObject arg = (JSONObject) call.arguments;
- boolean value = arg.getBoolean("value");
- setAutoStartOnBootMode(value);
- result.success(true);
- return;
- }
-
- if (method.equalsIgnoreCase("setForegroundMode")) {
- JSONObject arg = (JSONObject) call.arguments;
- boolean value = arg.getBoolean("value");
- setForegroundServiceMode(value);
- if (value) {
- updateNotificationInfo();
- } else {
- stopForeground(true);
- }
-
- result.success(true);
- return;
- }
-
- if (method.equalsIgnoreCase("stopService")) {
- isManuallyStopped = true;
- Intent intent = new Intent(this, WatchdogReceiver.class);
- PendingIntent pi;
- if (SDK_INT >= Build.VERSION_CODES.S) {
- pi = PendingIntent.getBroadcast(getApplicationContext(), 111, intent, PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE);
- } else {
- pi = PendingIntent.getBroadcast(getApplicationContext(), 111, intent, PendingIntent.FLAG_CANCEL_CURRENT);
- }
-
- AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
- alarmManager.cancel(pi);
- stopSelf();
- result.success(true);
- return;
- }
-
- if (method.equalsIgnoreCase("sendData")) {
- LocalBroadcastManager manager = LocalBroadcastManager.getInstance(this);
- Intent intent = new Intent("id.flutter/background_service");
- intent.putExtra("data", ((JSONObject) call.arguments).toString());
- manager.sendBroadcast(intent);
- result.success(true);
- return;
- }
- } catch (JSONException e) {
- Log.e(TAG, e.getMessage());
- e.printStackTrace();
- }
-
- result.notImplemented();
- }
-}
diff --git a/android/src/main/java/id/flutter/flutter_background_service/BootReceiver.java b/android/src/main/java/id/flutter/flutter_background_service/BootReceiver.java
deleted file mode 100644
index f9581bd5..00000000
--- a/android/src/main/java/id/flutter/flutter_background_service/BootReceiver.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package id.flutter.flutter_background_service;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
-
-import androidx.core.content.ContextCompat;
-
-import static android.content.Context.MODE_PRIVATE;
-
-
-public class BootReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- SharedPreferences pref = context.getSharedPreferences("id.flutter.background_service", MODE_PRIVATE);
- boolean autoStart = pref.getBoolean("auto_start_on_boot",true);
- if(autoStart) {
- if (BackgroundService.isForegroundService(context)){
- ContextCompat.startForegroundService(context, new Intent(context, BackgroundService.class));
- } else {
- context.startService(new Intent(context, BackgroundService.class));
- }
- }
- }
-}
diff --git a/android/src/main/java/id/flutter/flutter_background_service/FlutterBackgroundServicePlugin.java b/android/src/main/java/id/flutter/flutter_background_service/FlutterBackgroundServicePlugin.java
deleted file mode 100644
index 6a318341..00000000
--- a/android/src/main/java/id/flutter/flutter_background_service/FlutterBackgroundServicePlugin.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package id.flutter.flutter_background_service;
-
-import static android.content.Context.MODE_PRIVATE;
-
-import android.app.ActivityManager;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.SharedPreferences;
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-import androidx.core.content.ContextCompat;
-import androidx.localbroadcastmanager.content.LocalBroadcastManager;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import io.flutter.embedding.engine.plugins.FlutterPlugin;
-import io.flutter.embedding.engine.plugins.service.ServiceAware;
-import io.flutter.embedding.engine.plugins.service.ServicePluginBinding;
-import io.flutter.plugin.common.MethodCall;
-import io.flutter.plugin.common.MethodChannel;
-import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
-import io.flutter.plugin.common.MethodChannel.Result;
-import io.flutter.plugin.common.PluginRegistry.Registrar;
-import io.flutter.plugin.common.JSONMethodCodec;
-
-/** FlutterBackgroundServicePlugin */
-public class FlutterBackgroundServicePlugin extends BroadcastReceiver implements FlutterPlugin, MethodCallHandler, ServiceAware {
- private static final String TAG = "BackgroundServicePlugin";
- private static final List _instances = new ArrayList<>();
-
- public FlutterBackgroundServicePlugin(){
- _instances.add(this);
- }
-
- private MethodChannel channel;
- private Context context;
- private BackgroundService service;
-
- @Override
- public void onAttachedToEngine(@NonNull FlutterPluginBinding flutterPluginBinding) {
- this.context = flutterPluginBinding.getApplicationContext();
- LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this.context);
- localBroadcastManager.registerReceiver(this, new IntentFilter("id.flutter/background_service"));
-
- channel = new MethodChannel(flutterPluginBinding.getBinaryMessenger(), "id.flutter/background_service", JSONMethodCodec.INSTANCE);
- channel.setMethodCallHandler(this);
- }
-
- public static void registerWith(Registrar registrar) {
- LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(registrar.context());
- final FlutterBackgroundServicePlugin plugin = new FlutterBackgroundServicePlugin();
- localBroadcastManager.registerReceiver(plugin, new IntentFilter("id.flutter/background_service"));
-
- final MethodChannel channel = new MethodChannel(registrar.messenger(), "id.flutter/background_service", JSONMethodCodec.INSTANCE);
- channel.setMethodCallHandler(plugin);
- plugin.channel = channel;
- }
-
- private static void configure(Context context, long callbackHandleId, boolean isForeground, boolean autoStartOnBoot) {
- SharedPreferences pref = context.getSharedPreferences("id.flutter.background_service", MODE_PRIVATE);
- pref.edit()
- .putLong("callback_handle", callbackHandleId)
- .putBoolean("is_foreground", isForeground)
- .putBoolean("auto_start_on_boot", autoStartOnBoot)
- .apply();
- }
-
- private void start() {
- BackgroundService.enqueue(context);
- boolean isForeground = BackgroundService.isForegroundService(context);
- Intent intent = new Intent(context, BackgroundService.class);
- if (isForeground){
- ContextCompat.startForegroundService(context, intent);
- } else {
- context.startService(intent);
- }
- }
-
-
- @Override
- public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) {
- String method = call.method;
- JSONObject arg = (JSONObject) call.arguments;
-
- try {
- if ("configure".equals(method)) {
- long callbackHandle = arg.getLong("handle");
- boolean isForeground = arg.getBoolean("is_foreground_mode");
- boolean autoStartOnBoot = arg.getBoolean("auto_start_on_boot");
-
- configure(context, callbackHandle, isForeground, autoStartOnBoot);
- if (autoStartOnBoot){
- start();
- }
-
- result.success(true);
- return;
- }
-
- if ("start".equals(method)){
- start();
- result.success(true);
- return;
- }
-
- if (method.equalsIgnoreCase("sendData")) {
- for (FlutterBackgroundServicePlugin plugin : _instances) {
- if (plugin.service != null) {
- plugin.service.receiveData((JSONObject) call.arguments);
- break;
- }
- }
-
- result.success(true);
- return;
- }
-
- if (method.equalsIgnoreCase("isServiceRunning")) {
- ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
- for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
- if (BackgroundService.class.getName().equals(service.service.getClassName())) {
- result.success(true);
- return;
- }
- }
- result.success(false);
- return;
- }
-
- result.notImplemented();
- }catch (Exception e){
- result.error("100", "Failed read arguments", null);
- }
- }
-
- @Override
- public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) {
- channel.setMethodCallHandler(null);
-
- LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this.context);
- localBroadcastManager.unregisterReceiver(this);
- }
-
- @Override
- public void onReceive(Context context, Intent intent) {
- if (intent.getAction() == null) return;
-
- if (intent.getAction().equalsIgnoreCase("id.flutter/background_service")){
- String data = intent.getStringExtra("data");
- try {
- JSONObject jData = new JSONObject(data);
- if (channel != null){
- channel.invokeMethod("onReceiveData", jData);
- }
- }catch (JSONException e){
- e.printStackTrace();
- } catch (Exception e){
- e.printStackTrace();
- }
- }
- }
-
- @Override
- public void onAttachedToService(@NonNull ServicePluginBinding binding) {
- Log.d(TAG, "onAttachedToService");
-
- this.service = (BackgroundService) binding.getService();
- }
-
- @Override
- public void onDetachedFromService() {
- this.service = null;
- Log.d(TAG, "onDetachedFromService");
- }
-}
diff --git a/android/src/main/java/id/flutter/flutter_background_service/WatchdogReceiver.java b/android/src/main/java/id/flutter/flutter_background_service/WatchdogReceiver.java
deleted file mode 100644
index e1756efb..00000000
--- a/android/src/main/java/id/flutter/flutter_background_service/WatchdogReceiver.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package id.flutter.flutter_background_service;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-
-import androidx.core.content.ContextCompat;
-
-public class WatchdogReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- if(!BackgroundService.isManuallyStopped(context)){
- if (BackgroundService.isForegroundService(context)){
- ContextCompat.startForegroundService(context, new Intent(context, BackgroundService.class));
- } else {
- context.startService(new Intent(context, BackgroundService.class));
- }
- }
- }
-}
diff --git a/android/src/main/res/drawable-anydpi-v24/ic_bg_service_small.xml b/android/src/main/res/drawable-anydpi-v24/ic_bg_service_small.xml
deleted file mode 100644
index 39d15efa..00000000
--- a/android/src/main/res/drawable-anydpi-v24/ic_bg_service_small.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
diff --git a/bin/update.dart b/bin/update.dart
deleted file mode 100644
index 55d9e3c1..00000000
--- a/bin/update.dart
+++ /dev/null
@@ -1,18 +0,0 @@
-import 'dart:io';
-
-void main() {
- final pubspec = File('pubspec.yaml');
- final version = Platform.environment['RELEASE_VERSION'];
-
- var contents = pubspec.readAsStringSync();
- final reg = RegExp(r'version: (\d+.\d+.\d+)');
- final match = reg.firstMatch(contents);
- if (match != null) {
- contents = contents.replaceRange(
- match.start,
- match.end,
- 'version: $version',
- );
- pubspec.writeAsStringSync(contents, flush: true);
- }
-}
diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock
deleted file mode 100644
index 9bfdb177..00000000
--- a/example/ios/Podfile.lock
+++ /dev/null
@@ -1,28 +0,0 @@
-PODS:
- - device_info_plus (0.0.1):
- - Flutter
- - Flutter (1.0.0)
- - flutter_background_service (0.0.1):
- - Flutter
-
-DEPENDENCIES:
- - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
- - Flutter (from `Flutter`)
- - flutter_background_service (from `.symlinks/plugins/flutter_background_service/ios`)
-
-EXTERNAL SOURCES:
- device_info_plus:
- :path: ".symlinks/plugins/device_info_plus/ios"
- Flutter:
- :path: Flutter
- flutter_background_service:
- :path: ".symlinks/plugins/flutter_background_service/ios"
-
-SPEC CHECKSUMS:
- device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed
- Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a
- flutter_background_service: a4644870cc76287aaa6147b47107e52680b79c90
-
-PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c
-
-COCOAPODS: 1.11.2
diff --git a/example/ios/Runner/AppDelegate.swift b/example/ios/Runner/AppDelegate.swift
deleted file mode 100644
index 4e227d20..00000000
--- a/example/ios/Runner/AppDelegate.swift
+++ /dev/null
@@ -1,18 +0,0 @@
-import UIKit
-import Flutter
-import flutter_background_service
-
-@UIApplicationMain
-@objc class AppDelegate: FlutterAppDelegate {
- override func application(
- _ application: UIApplication,
- didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
- ) -> Bool {
- GeneratedPluginRegistrant.register(with: self)
- FlutterBackgroundServicePlugin.setPluginRegistrantCallback { registry in
- GeneratedPluginRegistrant.register(with: registry)
- }
-
- return super.application(application, didFinishLaunchingWithOptions: launchOptions)
- }
-}
diff --git a/example/lib/main.dart b/example/lib/main.dart
deleted file mode 100644
index c4524e87..00000000
--- a/example/lib/main.dart
+++ /dev/null
@@ -1,181 +0,0 @@
-import 'dart:async';
-import 'dart:io';
-
-import 'package:device_info_plus/device_info_plus.dart';
-import 'package:flutter/material.dart';
-import 'package:flutter_background_service/flutter_background_service.dart';
-
-Future main() async {
- WidgetsFlutterBinding.ensureInitialized();
- await initializeService();
- runApp(const MyApp());
-}
-
-Future initializeService() async {
- final service = FlutterBackgroundService();
- await service.configure(
- androidConfiguration: AndroidConfiguration(
- // this will executed when app is in foreground or background in separated isolate
- onStart: onStart,
-
- // auto start service
- autoStart: true,
- isForegroundMode: true,
- ),
- iosConfiguration: IosConfiguration(
- // auto start service
- autoStart: true,
-
- // this will executed when app is in foreground in separated isolate
- onForeground: onStart,
-
- // you have to enable background fetch capability on xcode project
- onBackground: onIosBackground,
- ),
- );
-}
-
-// to ensure this executed
-// run app from xcode, then from xcode menu, select Simulate Background Fetch
-void onIosBackground() {
- WidgetsFlutterBinding.ensureInitialized();
- print('FLUTTER BACKGROUND FETCH');
-}
-
-void onStart() {
- WidgetsFlutterBinding.ensureInitialized();
-
- final service = FlutterBackgroundService();
- service.onDataReceived.listen((event) {
- if (event!["action"] == "setAsForeground") {
- service.setForegroundMode(true);
- return;
- }
-
- if (event["action"] == "setAsBackground") {
- service.setForegroundMode(false);
- }
-
- if (event["action"] == "stopService") {
- service.stopBackgroundService();
- }
- });
-
- // bring to foreground
- service.setForegroundMode(true);
- Timer.periodic(const Duration(seconds: 1), (timer) async {
- if (!(await service.isServiceRunning())) timer.cancel();
- service.setNotificationInfo(
- title: "My App Service",
- content: "Updated at ${DateTime.now()}",
- );
-
- // test using external plugin
- final deviceInfo = DeviceInfoPlugin();
- String? device;
- if (Platform.isAndroid) {
- final androidInfo = await deviceInfo.androidInfo;
- device = androidInfo.model;
- }
-
- if (Platform.isIOS) {
- final iosInfo = await deviceInfo.iosInfo;
- device = iosInfo.model;
- }
-
- service.sendData(
- {
- "current_date": DateTime.now().toIso8601String(),
- "device": device,
- },
- );
- });
-}
-
-class MyApp extends StatefulWidget {
- const MyApp({Key? key}) : super(key: key);
-
- @override
- _MyAppState createState() => _MyAppState();
-}
-
-class _MyAppState extends State {
- String text = "Stop Service";
- @override
- Widget build(BuildContext context) {
- return MaterialApp(
- home: Scaffold(
- appBar: AppBar(
- title: const Text('Service App'),
- ),
- body: Column(
- children: [
- StreamBuilder