我想处理用户点击GCM通知的行为。我想在两种情况下以不同的方式处理它:应用程序未运行(堆栈中没有前台和后台活动)并且应用程序正在运行且堆栈中至少有一个活动。我怎么能这样做?
答案 0 :(得分:1)
Determining if your Android Application is in Background or Foreground是我遇到的最可靠的方法。正如该文章和其他地方所解释的那样,有许多不同的方法可以做到这一点,但如上所述使用Application.ActivityLifecycleCallbacks通常非常可靠。它会记录已启动的活动数量,如果数量大于1,则您的应用程序位于前台。
答案 1 :(得分:0)
在我的Senario中,我更改了NotificationReciever。 in" onPushReceive"来自ParsePushBroadcastReceiver的方法。 (我使用解析推送)。在您的Senario中,只是为了检测收到的通知。
@object
答案 2 :(得分:0)
使用在static
中定义Activity
变量的经典方法。
class MyActivity extends FragmentActivity {
static boolean isActive = false;
@Override
public void onStart() {
super.onStart();
isActive = true;
}
@Override
public void onStop() {
super.onStop();
isActive = false;
}
}