从原生控制器返回 Flutter 应用

Posted

技术标签:

【中文标题】从原生控制器返回 Flutter 应用【英文标题】:Go back to Flutter app from native controller 【发布时间】:2021-01-14 09:56:24 【问题描述】:

我正在从我的原生端打开 ios 中的新联系人屏幕:

let contact = CNMutableContact.init()
let controller = CNContactViewController.init(forNewContact:contact)
controller.delegate = self
DispatchQueue.main.async 
    let navigation = UINavigationController .init(rootViewController: controller)
    let viewController : UIViewController? = UIApplication.shared.delegate?.window??.rootViewController
    viewController?.present(navigation, animated:true, completion: nil)

屏幕正确打开,问题是我无法返回 Flutter 应用程序。有一个取消按钮,但是当我点击它时没有任何反应。

如何从原生控制器返回?

【问题讨论】:

【参考方案1】:

如何解决此问题:在类中添加以下方法(已从 CNContactViewControllerDelegate 扩展:

public func contactViewController(_ viewController: CNContactViewController, didCompleteWith contact: CNContact?) 
    viewController.dismiss(animated: true, completion: nil)

【讨论】:

以上是关于从原生控制器返回 Flutter 应用的主要内容,如果未能解决你的问题,请参考以下文章

flutter跳转原生页面后的穿透问题

如何从我的 Flutter 应用程序控制网络缓存?

如何在 Play 控制台中使用 Java 应用更新已发布的原生 android 上的颤振应用

将自定义数据从 Firebase 云消息传递控制台显示到 Flutter 应用程序?

Flutter Cloud Messaging:如何从应用程序发送通知(而不是从 Firebase 控制台)

从任何网络Flutter访问HTTP服务器