0

当用户在应用程序之外时,我想在通知栏中使用通知,并在他们使用它时使用 toast 通知。

通知(任一样式)将从服务发出,因此在通知时将不知道任何活动。

确保您知道这一点的正确和最可靠的模式是什么?

4

1 回答 1

1

好的,根据另一个问题的 Klaasvaak 的建议,这就是我所做的(但它比建议的要简单一些)

在我的服务中(或任何其他类。可能更好的是在一个更通用的类中)我们有这个代码......

...
private static boolean viewingApp = false;

public static synchronized void setViewingApp(boolean viewing)
{
    viewingApp = viewing;
}

public static boolean isViewingApp()
{
    return viewingApp;
}
...

如果上面的类被破坏了,那就没问题了,因为如果再次需要,布尔值将恢复为 false。

上面的 setViewingApp() 方法在每个 Activity 扩展的基类中执行...

...
@Override
protected void onResume()
{
    MyClassCOntainingTheBoolean.setViewingApp(true);
    super.onResume();
}

@Override
protected void onPause()
{
    MyClassCOntainingTheBoolean.setInApp(false);
    super.onPause();
}
...
于 2013-05-31T15:14:10.497 回答