Provide a default handler for the flutter/navigation channel (#29511)
diff --git a/shell/platform/android/io/flutter/embedding/engine/systemchannels/NavigationChannel.java b/shell/platform/android/io/flutter/embedding/engine/systemchannels/NavigationChannel.java
index e760234..87e7e36 100644
--- a/shell/platform/android/io/flutter/embedding/engine/systemchannels/NavigationChannel.java
+++ b/shell/platform/android/io/flutter/embedding/engine/systemchannels/NavigationChannel.java
@@ -9,6 +9,7 @@
import io.flutter.Log;
import io.flutter.embedding.engine.dart.DartExecutor;
import io.flutter.plugin.common.JSONMethodCodec;
+import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
/** TODO(mattcarroll): fill in javadoc for NavigationChannel. */
@@ -19,8 +20,19 @@
public NavigationChannel(@NonNull DartExecutor dartExecutor) {
this.channel = new MethodChannel(dartExecutor, "flutter/navigation", JSONMethodCodec.INSTANCE);
+ channel.setMethodCallHandler(defaultHandler);
}
+ // Provide a default handler that returns an empty response to any messages
+ // on this channel.
+ private final MethodChannel.MethodCallHandler defaultHandler =
+ new MethodChannel.MethodCallHandler() {
+ @Override
+ public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result result) {
+ result.success(null);
+ }
+ };
+
public void setInitialRoute(@NonNull String initialRoute) {
Log.v(TAG, "Sending message to set initial route to '" + initialRoute + "'");
channel.invokeMethod("setInitialRoute", initialRoute);