我跟随Flutter在https://flutter.dev/docs/development/platform-integration/platform-channels做了什么,但它没有工作。我检查了其他人的工作,还是一无所获。你们有什么建议?
class MainActivity: FlutterFragmentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
GeneratedPluginRegistrant.registerWith(this.getFlutterEngine()!!)
}
private val CHANNEL = "samples.flutter.dev/battery"
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL).setMethodCallHandler {
call, result ->
if (call.method == "MyMethod"){
result.success("Hello Kotlin")
}
}
}}
这是颤振本身的方法
static const platform =
const MethodChannel("samples.flutter.dev/battery");
Future<void> MyMethod() async {
String value = "";
try{
value = await platform.invokeMethod("MyMethod");
}
catch(e){
print(e);
}
print(value);
}
拜托,我在网上试过所有的方法,但都没用。我恳求你帮助我的情况。
我刚刚解决了我的问题。它在AndroidManifest.xml
是
android:name="io.flutter.embedding.android.FlutterFragmentActivity"
我改回
android:name=".MainActivity"