我想知道用户是否打开了应用程序,因为当我从GCM收到广播时,我会创建一个意图通知应用程序的通知。当用户点击通知时,它将启动主活动的新意图,将旧的主活动放在后台,然后,当用户请求后退导航时,它将关闭所需的活动并打开(再次为他)堆栈上的最后一个活动。
汇总:
屏幕上的当前活动: XActivity
意图使用XActivity的新通知。
用户点击通知,因此堆栈为 XActivity , XActivity 。
如何检测XActivity是否已经显示,只是向其发送额外内容?
谢谢!
答案 0 :(得分:3)
将Activity的启动模式设置为singleTop
,然后使用标记为FLAG_ACTIVITY_NEW_TASK
的intent启动它。如果它没有运行,这将启动Activity,否则将使用正在运行的实例..
答案 1 :(得分:2)
您可以声明布尔变量:boolean isOnPause;
然后覆盖onResume()方法,并使isOnPause = false; 覆盖onPause()方法并使isOnPause = true;
并在开始新的Intent
之前检查此变量