From a907a961d6dd4114dd59924f7016662c037c1b77 Mon Sep 17 00:00:00 2001 From: Simon Fu Date: Tue, 31 Oct 2023 15:43:51 +0800 Subject: [PATCH] fix: fix `MissingPluginException` for opening file when add to app --- .../main/java/com/crazecoder/openfile/OpenFilePlugin.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/crazecoder/openfile/OpenFilePlugin.java b/android/src/main/java/com/crazecoder/openfile/OpenFilePlugin.java index e4714a2f..4badeb0a 100644 --- a/android/src/main/java/com/crazecoder/openfile/OpenFilePlugin.java +++ b/android/src/main/java/com/crazecoder/openfile/OpenFilePlugin.java @@ -399,8 +399,12 @@ private void result(int type, String message) { @Override public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) { this.flutterPluginBinding = binding; - channel = new MethodChannel(flutterPluginBinding.getBinaryMessenger(), "open_file"); context = flutterPluginBinding.getApplicationContext(); + setup(); + } + + private void setup() { + channel = new MethodChannel(flutterPluginBinding.getBinaryMessenger(), "open_file"); channel.setMethodCallHandler(this); } @@ -410,7 +414,6 @@ public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) { // Could be on too low of an SDK to have started listening originally. return; } - channel.setMethodCallHandler(null); channel = null; this.flutterPluginBinding = null; @@ -418,6 +421,7 @@ public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) { @Override public void onAttachedToActivity(ActivityPluginBinding binding) { + setup(); activity = binding.getActivity(); binding.addRequestPermissionsResultListener(this); binding.addActivityResultListener(this);