【问题标题】:How to close/kill app on Flutter如何在 Flutter 上关闭/杀死应用程序
【发布时间】:2018-12-27 17:04:51
【问题描述】:

我实际上知道这个实现:Flutter programmatically closing the app,但是当应用程序关闭时仍然在后台。我怎样才能绝对杀死应用程序而不让它在后台运行?

谢谢!

【问题讨论】:

  • 您在 Android 中尝试过exit(0); 吗?在 iOS 中,没有退出应用程序这样的事情。
  • @GünterZöchbauer 是的。在描述中我告诉过你我知道这一点,但不能按我的意愿工作。

标签: flutter kill


【解决方案1】:

您可以使用exit(0)。但是应用程序突然退出。您可以使用以下更流畅的代码。

SystemChannels.platform.invokeMethod<void>('SystemNavigator.pop')

文档可通过here 获取。

【讨论】:

  • 感谢您的回答。稍后需要检查,但如果任何用户同意您的观点,我会将您的答案标记为正确的!
【解决方案2】:

如果不想使用invokeMethod,可以直接使用关闭应用

SystemNavigator.pop(); // Only works on Android.

虽然exit(0) 可以在 iOS 和 Android 上使用,但它不应该在任何一个上使用。阅读this answer了解更多信息。

【讨论】:

  • 当用户手动终止应用程序时,如何退出并终止所有线程/进程?在我的颤振应用程序(在 Android 上)中,即使在我关闭应用程序后,一些旨在收集传感器数据的进程仍然运行。只有当我继续应用信息并执行“强制停止”时它才会停止。
  • @Gauranga 你可以使用exit(0)
  • 我在哪里调用 exit (0) 。当用户杀死应用程序时,不会调用 UI 的 onDespose 方法。我想知道我应该在哪里调用 exit(0) 。我想在退出调用时释放所有资源。
  • @Gauranga 你能把它作为一个问题发布吗,我很乐意回答。
【解决方案3】:

SystemNavigator.pop() 适用于 Android,但不适用于 iOS 端。

exit(0) 将适用于两个系统,但不建议这样做,因为 Ios 可能会根据其指南拒绝您的应用,并且在 Android 中,它会停止 Dart VM 进程

【讨论】:

    猜你喜欢
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多