有时,即使我终止了App,Toast仍不会消失并且仍然可见

时间:2019-06-28 18:35:18

标签: android android-toast

在某些情况下,我看到一个非常简单的Toast

if (!this.isFinishing()) {
    Toast.makeText(this, R.string.my_toast_message, Toast.LENGTH_LONG).show();
]

在大多数情况下,Toast都会显示并逐渐消失,但是有时始终保持可见状态,即使您终止了该应用,Toast 也不会消失

这是一个偶尔发生的问题,但是当它发生时,这非常烦人,使Toast消失的唯一方法是重新启动系统或执行可能显示另外Toast任何应用程序。

这似乎是Android本身而不是App的问题,因为我已经看到此问题发生在使用Toast的不同设备和不同应用上。

我想知道是否有一些解决此问题的方法。

2 个答案:

答案 0 :(得分:0)

吐司是系统级的通知,因此即使该应用被终止,它们也不会消失。如果您致电show祝酒,那么它们将一个接一个地显示。如果多次调用同一个吐司,则会给人留下吐司要花很长时间才能消失的印象。

对于应用程序通知,请考虑改用Snackbars

请参阅this question

答案 1 :(得分:0)

如果要基于this answer在异步调用中创建Toast,则从结束的线程调用Toast时,Toast可能会卡住,并在Toast有机会消失之前被杀死。如果要在单独的线程中调用它,则可能需要考虑从主线程调用它。