gpt4 book ai didi

android - 在 Flutter add2app 场景中,如何让应用返回按钮返回到宿主应用?

转载 作者:IT王子 更新时间:2023-10-29 06:33:30 27 4
gpt4 key购买 nike

我在 add2app 场景中使用 flutter,其中主机应用程序启动 flutterView 并且 flutter view 是一个 flutter 模块,如 https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps

我有一个 Activity ,里面有一个 fragment 。该 fragment 有

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

FlutterView flutterView = Flutter.createView(getActivity(), getLifecycle(), route);
GeneratedPluginRegistrant.registerWith(flutterView.getPluginRegistry());

return flutterView;

我想知道最好的清洗方法是什么,这样应用栏中的飞镖代码可以在左上角有一个后退按钮,在主机 fragment 及其 Activity 中实现 super.onBackPressed 的效果 - 即左上角后退按钮的行为与硬件后退按钮相同,使您返回到主机应用程序后退堆栈中的上一个屏幕。

我试过了

appBar: AppBar(
leading: BackButton()
title: const Text("My Screen Title),
),

但正如预期的那样,因为它是 initialRoute,所以 canPop=false。我还尝试了一个自定义的 BackButton() ,它是相同的,除了

return IconButton(
icon: const BackButtonIcon(),
color: color,
tooltip: MaterialLocalizations.of(context).backButtonTooltip,
onPressed: () {
Navigator.maybePop(context);
}
);

像它使用的 back_button.dart

Navigator.Pop(context);

代替

Navigator.maybePop(context);

毫不奇怪,它会导致黑屏而不是返回到 Android 平台 java 代码。

我希望我可以并且可能会使用平台调用来执行 fragment.getActivity().finish() 但我想知道是否还有更好的方法,因为这看起来相当基础。

提前致谢

最佳答案

我知道这个帖子是旧的,但我只是在寻找同样的东西,发现这可以通过调用 Dart 代码来完成:

SystemNavigator.pop();

在 Flutter iOS 中提到 add-to-app doc但它也适用于 Android。

关于android - 在 Flutter add2app 场景中,如何让应用返回按钮返回到宿主应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54450436/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com