我有一个Flutter项目,需要一些特定的功能,需要在本地安卓活动或iOS ViewController中实现。有没有一种方法可以导航到android Activity并将数据传递给它,也可以在Flutter中从其中检索数据?
如果这是不可能的,有没有可能显示来自安卓的活动或片段,以及来自iOS的ViewController,作为Flutter中的Widget?
发布于 2020-09-10 04:50:38
我不确定这是否是最好的方式,我只为Android创建了它,但这就是我所做的。
简单的颤动方法通道调用原生:
static const platform = const MethodChannel(MY_CHANNEL);
string result await platform.invokeMethod("mycall");在你的mainActivity中的原生安卓部分:
//Class attribute
private Result myresult;
//Method chanel
new MethodChannel(getFlutterView(), MY_CHANNEL).setMethodCallHandler(
(call, result) -> {
// Note: this method is invoked on the main thread.
if (call.method.equals("mycall")) {
myresult = result; //Store the flutter result
Intent intent1 = new Intent(MyClass.class);//Start your special native stuff
startActivityForResult(intent1, RQ_CODE);
} else {
result.notImplemented();
}
});
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Check which request we're responding to
if (requestCode == RQ_CODE) {
myresult.success("this will be your result"); //Probably do something with the data instead of a static string.
}
}对于iOS,基本上也可以这样做
发布于 2020-09-06 05:05:15
使用https://flutter.dev/docs/get-started/flutter-for/ios-devs链接在安卓和ios上使用intent或android_intent包
https://stackoverflow.com/questions/63672894
复制相似问题