如何检测用户是否正在查看我的应用程序(Android)

时间:2011-04-03 20:13:44

标签: android android-activity

我正在尝试检查用户是否在收到c2dm消息时正在查看我的应用。如果用户正在查看它,则无需生成通知,否则我将生成通知。在我看来,这似乎是非常微不足道的。但是我在寻找解决方案时遇到了困难。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

  

如果用户正在查看它,则无需生成通知,否则我将生成通知。

让您的C2DM接收器发送有序广播。让您的活动(或活动)为您的广播注册一个高优先级接收器,他们自己更新并中止广播。为清单中注册的广播设置一个低优先级接收器 - 如果它获得控制权,则将其提升Notification

答案 1 :(得分:0)

我唯一能想到的是在onResume()中设置了一些标志,通知会检查...然后清除标志onDestroy或onPause

答案 2 :(得分:-1)

final ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
if (yourActivity.getComponentName() == activityManager.getRunningTasks(1).get(0).topActivity) {
  // Activity is currently running

}

这是一种方式。虽然我可能会使用我的活动onStart()onStop()来保存参考。可能还有更简单的方法。

相关问题