【问题标题】:Open Android Activity and iOS ViewController from Flutter从 Flutter 打开 Android Activity 和 iOS ViewController
【发布时间】:2020-12-19 16:42:47
【问题描述】:

我有一个 Flutter 项目,它需要一些特定的功能,这些功能需要在原生 Android Activity 或 iOS ViewController 中实现。有没有办法导航到 android Activity 并将数据传递给它并在 Flutter 中从中检索数据?

如果不可能,是否可以将 Android 的 Activity 或 Fragment 以及 iOS 的 ViewController 显示为 Flutter 中的 Widget?

【问题讨论】:

标签: android ios flutter


【解决方案1】:

使用 Intent 或 android_intent 包为 android 和 ios 使用 https://flutter.dev/docs/get-started/flutter-for/ios-devs 链接

【讨论】:

    【解决方案2】:

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

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

    static const platform = const MethodChannel(MY_CHANNEL);
    string result await platform.invokeMethod("mycall");
    

    来自您的 mainActivity 中的原生 Android 部分:

    //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 上也可以这样做

    【讨论】:

      猜你喜欢
      • 2018-08-02
      • 1970-01-01
      • 2017-11-25
      • 1970-01-01
      • 2016-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多