diff --git a/packages/flutter_background_service_android/android/src/main/java/id/flutter/flutter_background_service/BackgroundService.java b/packages/flutter_background_service_android/android/src/main/java/id/flutter/flutter_background_service/BackgroundService.java index 69dc6a17..2f8e4b12 100644 --- a/packages/flutter_background_service_android/android/src/main/java/id/flutter/flutter_background_service/BackgroundService.java +++ b/packages/flutter_background_service_android/android/src/main/java/id/flutter/flutter_background_service/BackgroundService.java @@ -122,9 +122,9 @@ public void onDestroy() { backgroundEngine = null; } + FlutterBackgroundServicePlugin.servicePipe.removeListener(listener); methodChannel = null; dartEntrypoint = null; - FlutterBackgroundServicePlugin.servicePipe.removeListener(listener); super.onDestroy(); } @@ -235,18 +235,15 @@ private void runService() { } public void receiveData(JSONObject data) { - if (methodChannel != null) { - try { - final JSONObject arg = data; - mainHandler.post(new Runnable() { - @Override - public void run() { - methodChannel.invokeMethod("onReceiveData", arg); - } - }); - } catch (Exception e) { - e.printStackTrace(); - } + if (methodChannel == null) return; + try { + final JSONObject arg = data; + mainHandler.post(() -> { + if (methodChannel == null) return; + methodChannel.invokeMethod("onReceiveData", arg); + }); + } catch (Exception e) { + e.printStackTrace(); } }