Browse Source

make plugin work in headless mode when extending FlutterApplication (#578)

masewo 6 years ago
parent
commit
06e75281e6

+ 6 - 4
android/src/main/java/com/flutter_webview_plugin/FlutterWebviewPlugin.java

@@ -32,10 +32,12 @@ public class FlutterWebviewPlugin implements MethodCallHandler, PluginRegistry.A
     private static final String JS_CHANNEL_NAMES_FIELD = "javascriptChannelNames";
 
     public static void registerWith(PluginRegistry.Registrar registrar) {
-        channel = new MethodChannel(registrar.messenger(), CHANNEL_NAME);
-        final FlutterWebviewPlugin instance = new FlutterWebviewPlugin(registrar.activity(), registrar.activeContext());
-        registrar.addActivityResultListener(instance);
-        channel.setMethodCallHandler(instance);
+        if (registrar.activity() != null) {
+            channel = new MethodChannel(registrar.messenger(), CHANNEL_NAME);
+            final FlutterWebviewPlugin instance = new FlutterWebviewPlugin(registrar.activity(), registrar.activeContext());
+            registrar.addActivityResultListener(instance);
+            channel.setMethodCallHandler(instance);
+        }
     }
 
     FlutterWebviewPlugin(Activity activity, Context context) {