我的MainActivity
有lauchMode="singleTask"
现在我想从具有特殊意图数据的通知开始活动。
在MainActivity.onResume
我访问给定的意图数据......
问题是:当活动已经存在,并且我点击通知时,活动将进入前台,但是方法onResume
未被调用,我无法访问意图数据。
我尝试了旗帜FLAG_ACTIVITY_CLEAR_TASK
,这适用于Honeycomb,但不适用于Gingerbread。
这是我从通知开始活动的方式:
Intent intent = new Intent();
intent.setClass(this, MainActivity.class);
intent.putExtra("triggerid", triggerid);
startActivity(intent);
答案 0 :(得分:9)
onResume()
。但是,您可能看到的是getIntent()
返回启动活动的意图,而不是最近发送给它的意图。
要解决此问题,您应该覆盖onNewIntent()
。这将收到发送给它的新意图。然后,您可以使用收到的意图调用setIntent()
,这会导致getIntent()
在onResume()
中使用时返回新意图。