registrarFor方法找不到
来源:15-6 Flutter Plugin开发指南-Android端实现-2【打通Flutter与Android的任通二脉】

慕粉1156554542
2020-01-14
我这个activity默认重写的是configureFlutterEngine方法不是oncreate方法,而且下面的registrarFor方法也提示不存在
写回答
1回答
-
Flutter 版本不对应导致的:
//将: package org.devio.fluttertrip; import android.os.Bundle; import org.devio.flutter.plugin.asr.AsrPlugin; import org.devio.flutter.splashscreen.SplashScreen; import io.flutter.app.FlutterActivity; import io.flutter.plugins.GeneratedPluginRegistrant; public class MainActivity extends FlutterActivity { @Override protected void onCreate(Bundle savedInstanceState) { SplashScreen.show(this,true); super.onCreate(savedInstanceState); GeneratedPluginRegistrant.registerWith(this); registerSelfPlugin(); } private void registerSelfPlugin() { AsrPlugin.registerWith(registrarFor("org.devio.flutter.plugin.asr.AsrPlugin")); } } //改成 package org.devio.fluttertrip; import android.os.Bundle; import org.devio.flutter.plugin.asr.AsrPlugin; import org.devio.flutter.splashscreen.SplashScreen; import androidx.annotation.NonNull; import io.flutter.embedding.android.FlutterActivity; import io.flutter.embedding.engine.FlutterEngine; import io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry; import io.flutter.plugins.GeneratedPluginRegistrant; public class MainActivity extends FlutterActivity { @Override public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) { GeneratedPluginRegistrant.registerWith(flutterEngine); //flutter sdk >= v1.12.13+hotfix.5 时使用下面方法注册自定义plugin ShimPluginRegistry shimPluginRegistry = new ShimPluginRegistry(flutterEngine); AsrPlugin.registerWith(shimPluginRegistry.registrarFor("org.devio.flutter.plugin.asr.AsrPlugin")); } @Override protected void onCreate(Bundle savedInstanceState) { SplashScreen.show(this, true); super.onCreate(savedInstanceState); } }
即可。
122020-06-06
相似问题