diff --git a/android/src/main/java/co/tryterra/terra_flutter_bridge/TerraFlutterPlugin.java b/android/src/main/java/co/tryterra/terra_flutter_bridge/TerraFlutterPlugin.java index 1ad68e2..ae7a461 100644 --- a/android/src/main/java/co/tryterra/terra_flutter_bridge/TerraFlutterPlugin.java +++ b/android/src/main/java/co/tryterra/terra_flutter_bridge/TerraFlutterPlugin.java @@ -479,7 +479,12 @@ public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) { @Override public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) { - channel.setMethodCallHandler(null); + // channel is created in onAttachedToActivity, so a headless engine that never + // attaches an Activity (e.g. an FCM background isolate) reaches here with it null. + if (channel != null) { + channel.setMethodCallHandler(null); + channel = null; + } } }