【问题标题】:How to cancel all Toasts when app is in background?应用程序在后台时如何取消所有 Toast?
【发布时间】:2019-10-02 06:21:33
【问题描述】:

我在我的应用程序中使用Toasts 向用户显示来自 API/本地错误的错误。但是如果用户在后台并且Toast 消息显示在他的 Messenger 应用程序上(例如)某些请求失败,那就很烦人了。有什么方法可以在 App 处于后台时立即禁用所有显示的 toast?

所有 toast 都是在我的 Application 类中的整个 App 的一个函数中创建的。

【问题讨论】:

  • 你为什么不使用lifeCycle 并检查你的应用程序是否在后台,如果有任何活动在后台然后不显示吐司?这有意义吗?勒兰更多关于lifecycle

标签: android android-toast


【解决方案1】:

在您的 MasterActivity 中设置一个变量(如果有的话,或者在您的 MainActivity 中设置),如下所示:

  public static boolean IS_IN_FOREGROUND = false;

并像这样在你的生命周期中设置它:

  @Override
  protected void onResume() {
    super.onResume();
    IS_IN_FOREGROUND = true;
  }

  @Override
  protected void onPause() {
    super.onPause();
    IS_IN_FOREGROUND = false;
  }

然后在调用你的 toast 方法之前检查它。

【讨论】:

    猜你喜欢
    • 2023-02-01
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    • 1970-01-01
    • 2012-09-12
    • 2013-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多