android - 从 Flutter 打开 Android Activity 和 iOS ViewController

标签 android ios flutter

我有一个 Flutter 项目,它需要一些需要在原生 Android Activity 或 iOS ViewController 中实现的某些功能。有没有办法导航到android Activity并将数据传递给它,并在Flutter中从中检索数据?
如果不可能,是否可以将来自 Android 的 Activity 或 fragment 以及来自 iOS 的 ViewController 显示为 Flutter 中的小部件?

最佳答案

不确定这是否是最好的方法,我只为 Android 创建了它,但这就是我所做的。
简单的 Flutter 方法 channel 调用原生:

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 做同样的事情

关于android - 从 Flutter 打开 Android Activity 和 iOS ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63672894/

相关文章:

android - 即使android应用程序关闭,静态变量是否保留值

android - RxJava 的 subscribeOn 和 observeOn 不会覆盖原来设置的 Scheduler 吗?

android - params.getBehaviour() 返回空值

Android 标签栏,哪个 Activity 项目与相邻项目重叠(见图)

ios - 如何在可区分数据源中使用多个数据模型?

android - Android 中的 UITextView(EditText?)

ios - 在 Windows 8 中使用 PhoneGap 将 html5 转换为 ios 应用程序

flutter - 在 Flutter 中,如何平衡 Wrap 小部件的 child ?

Flutter:调试小部件重建的正确方法

flutter - 无法在flutter应用程序中更改状态栏图标亮度?