alibaba / flutter_boost

FlutterBoost is a Flutter plugin which enables hybrid integration of Flutter for your existing native apps with minimum efforts
https://github.com/alibaba/flutter_boost
MIT License
6.97k stars 1.23k forks source link

flutter接收不到native回传的参数 #1482

Open keke-hu opened 2 years ago

keke-hu commented 2 years ago

问题描述

打开native页面后快速操作并返回到flutter页面,flutter大概率接收不到回传的参数。重点在于快速返回到flutter页面

flutter boost版本

  flutter_boost:
    git:
      url: 'https://github.com/alibaba/flutter_boost.git'
      ref: 'v3.0-null-safety-preview.13'

代码

flutter跳转到native页面

  static Future<dynamic> addressList(String type) async {
    Future<dynamic> result =
        BoostNavigator.instance.push("addressList", arguments: {"type": type});
    result.then((value) => {
          if (value != null) {debugPrint("---------->${value.toString()}")}
        });
    return result;
  }

native端代码,跳转到原生业务页面


                Activity activity = FlutterBoost.instance().currentActivity();
                String pageName = options.pageName();
                if (StringUtils.isEmpty(pageName)) {
                    return;
                }
                Map<String, Object> arguments = options.arguments();
                ///地址库列表
                if (pageName.equalsIgnoreCase("addressList")) {
                    if (options.arguments().get("type") == null) {
                        return;
                    }
                    boolean isSend = Objects.requireNonNull(arguments.get("type")).toString().equalsIgnoreCase("send");
                    Intent intent = new Intent(activity, AddressSinglePickListActivity.class);
                    intent.putExtras(AddressSinglePickListActivity.getBundle(true, isSend
                            ? BaseAddressListFragment.TAGS_SEND : BaseAddressListFragment.TAGS_RECEIVER));
                    activity.startActivityForResult(intent, options.requestCode());
                    return;
                }

版本及开发环境

[√] Flutter (Channel stable, 2.5.0, on Microsoft Windows [Version 10.0.17763.2300], locale zh-CN)
    • Flutter version 2.5.0 at D:\flutter\flutterSdk
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4cc385b4b8 (3 months ago), 2021-09-07 23:01:49 -0700
    • Engine revision f0826da7ef
    • Dart version 2.14.0

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\kuaidi100\AppData\Local\Android\sdk
    X cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[√] Chrome - develop for the web
    • Chrome at C:\Users\kuaidi100\AppData\Local\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] IntelliJ IDEA Community Edition (version 2021.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.1
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart

[√] Connected device (2 available)
    • KB2000 (mobile) • dcd00b21 • android-arm64  • Android 11 (API 30)
    • Chrome (web)    • chrome   • web-javascript • Google Chrome 96.0.4664.45

日志

FlutterBoostActivity中的onActivityResult回调中可以看到回传参数

2021-11-24 15:07:57.636 13622-13622/com.Kingdee.Express D/---------->: onActivityResult: guidvalue:"d9ba82cf-5419-4fec-bf8a-d3606ca5da01"
2021-11-24 15:07:57.636 13622-13622/com.Kingdee.Express D/---------->: onActivityResult: address_bookvalue:{"address":"金蝶软件园(高新南七道)job","fixedPhone":"","guid":"d9ba82cf-5419-4fec-bf8a-d3606ca5da01","id":13,"isDefault":0,"isDelete":0,"isModified":0,"isNeed2Save2Db":true,"isSaved2Db":true,"lastModify":1637572055237,"name":"脱敏","phone":"135****9086","postCode":"null","serverId":1117661800,"showDesensitized":true,"tag":"null","userId":"444591923","xzqName":"广东省,深圳市,南山区","xzqNumber":""}
geGao123 commented 2 years ago

这里有个类似的问题,你看看 #https://github.com/alibaba/flutter_boost/issues/1491#issue-1069216279#

wishes3 commented 1 year ago

楼主解决了吗?