Android: new Intent() starts new instance with android:launchMode="singleTop"
根据上面的链接,我得到单顶工作,但我很难在意图中加入“额外”,然后对我的原始活动执行功能..这可能吗?
Intent I= new Intent(context, away.class);
I.putExtra("number", number);
I.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
这个片段来自我的广播接收器,它引用了我的主类..在我的主类中,我的代码是这样的..
Intent I = getIntent();
int number = I.getIntExtra("number", -1);
所以我的问题是以下...... 我怎么能得到我的主要活动来评估我发回的号码,然后当我的接收器类触发它时触发一个函数?
答案 0 :(得分:1)
你必须覆盖onNewIntent并获得额外的支持。
You have to override onNewIntent and get the extra there.
@Override
protected void onNewIntent(Intent intent)
{
super.onNewIntent(intent);
int number = intent.getIntExtra("number", -1);
}
在您的广播接收器中
Intent I = new Intent(context, away.class);
I.putExtra("number", number);
Log.d("here", "number = " + number);
I.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(I);