2011-07-26 21 views
5

MainActivity强制重启活动有lauchMode="singleTask"如何从意图

现在我想从特殊目的数据的通知开始活动。 在MainActivity.onResume我访问给定的意图数据...

的问题是:当活动已经存在了,我点击该通知,活动涉及到的前景,但该方法onResume不叫,我不能访问意图数据。

我试过国旗FLAG_ACTIVITY_CLEAR_TASK,这适用于蜂巢,但不适用于姜饼。

这是我从开始通知活动:

Intent intent = new Intent(); 
intent.setClass(this, MainActivity.class); 
intent.putExtra("triggerid", triggerid); 
startActivity(intent); 

回答

9

onResume()总是被称为如果该活动是不是在前台。但是,您可能看到的是getIntent()正在返回启动活动的意图,而不是最近发送给它的意图。

要解决此问题,您应该覆盖onNewIntent()。这将收到发送给它的新意向。然后,您可以使用收到的意向呼叫setIntent(),这将导致getIntent()onResume()中使用时返回新意向。