有2项活动。 A和B.
第一个活动是A(它已经配置了来自意图的de Bundle的一些东西......
A - >乙 B-> A(开始新的Activity,而不是onBackPressed())。活动A需要重新创建,Intent的Bundle已经改变。它也必须是singleTask。
B到A应该重新创建一个活动,我不想使用活动A的onResume()。
编辑:它就像whatsapp。 您在一个组 - > gt- settings-> infoGroup->成员点击 - >发送消息 它启动相同的活动(聊天活动),但当您返回群聊时,活动不存在。有什么想法吗?
答案 0 :(得分:0)
我不确定我是否理解您的问题,但您可以使用onNewIntent:
如果您只是想为从B开始传递的数据重新创建活动A,那么您可以覆盖活动A的onNewIntent
方法,获取包并为您的员工服务。
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
initLayout();
}
你的onCreate方法可以是这样的:
@Override
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.id.your_layout);
// find views;
initLayout();
}
public void initLayout(){
final Bundle bundle = getIntent().getExtras();
if(bundle != null){
// init layout
// do other staff
}
}
我认为这是解决问题的最佳方式。
祝你好运。
答案 1 :(得分:0)
为此,请使用FLAG_ACTIVITY_CLEAR_TOP
和您活动的manifest
launchMode
singleinstance
从B出发 - >使用CLick