首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从Flutter打开安卓Activity和iOS ViewController

从Flutter打开安卓Activity和iOS ViewController
EN

Stack Overflow用户
提问于 2020-08-31 22:37:42
回答 2查看 1.7K关注 0票数 3

我有一个Flutter项目,需要一些特定的功能,需要在本地安卓活动或iOS ViewController中实现。有没有一种方法可以导航到android Activity并将数据传递给它,也可以在Flutter中从其中检索数据?

如果这是不可能的,有没有可能显示来自安卓的活动或片段,以及来自iOS的ViewController,作为Flutter中的Widget?

EN

回答 2

Stack Overflow用户

发布于 2020-09-10 04:50:38

我不确定这是否是最好的方式,我只为Android创建了它,但这就是我所做的。

简单的颤动方法通道调用原生:

代码语言:javascript
运行
复制
static const platform = const MethodChannel(MY_CHANNEL);
string result await platform.invokeMethod("mycall");

在你的mainActivity中的原生安卓部分:

代码语言:javascript
运行
复制
//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,基本上也可以这样做

票数 1
EN

Stack Overflow用户

发布于 2020-09-06 05:05:15

使用https://flutter.dev/docs/get-started/flutter-for/ios-devs链接在安卓和ios上使用intent或android_intent包

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63672894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档