识别用户是否正在使用该应用程序的正确方法是什么?

时间:2013-05-31 14:49:58

标签: android

我希望当用户在应用程序之外时在通知栏中使用通知,并在用户使用时使用Toast通知。

通知(两种风格)将从服务中发出,因此在通知时不会知道任何活动。

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

1 个答案:

答案 0 :(得分:1)

好的基于Klaasvaak从另一个问题的建议这里是我做的(但它比建议的更简单)

在我的服务中(或在任何其他类中。可能更适合在更普遍的课程中)我们有这个代码......

...
private static boolean viewingApp = false;

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

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

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

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

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

@Override
protected void onPause()
{
    MyClassCOntainingTheBoolean.setInApp(false);
    super.onPause();
}
...