我有四项活动,即A,B,C和D.启动B,B启动C,C启动D.当C启动D时,我想根据情况销毁活动B保持活动C),以便当我从D返回时,它将遵循D-> C-> A路径。所以我想从C中摧毁B的活动。怎么可能?如何在活动中销毁以前的活动?
回答
完成活动B当您调用活动C取决于您的逻辑。 例如
if(true){
Intent in = new Intent(B.this,c.class);
startActivity(c);
}
else
{
Intent in = new Intent(B.this,c.class);
startActivity(c);
finish();
}
当我从C打电话给D时,我想完成B,而不是从B本身完成B.从B本身完成B本身并不是一个初学者的问题。 –
好的,你可以调用startActivityForResult(in,5);启动Activity C并在Activity B中实现覆盖方法,如@Override protected void onActivityResult(int requestCode,int resultCode,Intent intent) {super.onActivityResult(requestCode,resultCode,intent); if(resultCode == 0){finish(); } else {} } 并且当您在调用Activity D时像Intent那样在Activity中设置结果码backintent = getIntent(); setResult(0); Intent in = new Intent(C.this,D.class); startActivity(in); 就是这样 –
finishActivity(requestCode);
这种方法可以帮助你..
做的是与一些请求代码从b启动活动ç...因此能与该请求码
直接让完成活动finish();
在活动B的onActivityResult
从ç取决于逻辑你想
返回时,我觉得你可以做的是,你可以章只要你想完成sendbroadcast并完成那个活动,就可以在每个课程中进行广播。
// REGISTER IN ONCREATE
BroadcastReceiver form_filled = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String received_action = intent.getAction();
if (received_action.equals("finish_a")) {
finish();
}
}
};
registerReceiver(form_filled, new IntentFilter("finish_a"));
// THIS YOU HAVE TO DO WHEN YOU WANT TO FINISH
Intent temp_intent = new Intent();
temp_intent.setAction("finish_a");
sendBroadcast(temp_intent);
好然后可以调用startActivityForResult(在,5);启动活动C.贯彻像
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if(resultCode==0)
{
finish();
}
else
{
}
}
在活动B中的覆盖方法,并设置resultCode为在活动当你调用活动d像
Intent backintent = getIntent();
setResult(0);
Intent in = new Intent(C.this,D.class);
startActivity(in);
完蛋了....
- 1. 如何销毁活动?
- 2. 如何在注销时销毁活动?
- 3. 如何销毁Android中的活动?
- 4. 如何在销售时不销毁当前活动
- 5. 无法销毁活动... java.lang.NullPointerException:observer
- 6. java.lang.IllegalStateException:(活动已被销毁)
- 7. 销毁活动堆栈
- 8. 销毁活动堆栈
- 9. 销毁所有以前的活动后,具体活动是开放
- 10. 销毁活动如何运作?
- 11. 活动时Android停止线程在销毁时的活动
- 12. Android中的销毁活动问题
- 13. Android-恢复活动中的服务并销毁它们销毁
- 14. MainActivity在新活动开始时销毁?
- 15. 开始同样活动并销毁前一个活动的最佳方式
- 16. HistoryRecord的活动销毁超时
- 17. 当另一个活动停止时销毁活动
- 18. 如何防止活动在android应用程序中销毁?
- 19. 无法销毁活动 - 空指针
- 20. 状态下,当活动被销毁
- 21. Android - 恢复活动(当销毁时)
- 22. java.lang.IllegalStateException:活动已被销毁 - Android片段
- 23. Android销毁活动,查杀进程
- 24. 安卓:无法销毁活动
- 25. runtimeexception:无法销毁活动和RuntimeException:.nosuchfieldexception:mChildfragmentManager
- 26. 无法销毁活动lambda函数
- 27. 如何通知当前活动从以前的活动
- 28. 如何销毁WebView中的WebView活动和视频?
- 29. 'IllegalStateException:活动已被销毁'当'getSupportFragmentManager()'在活动重新启动后调用
- 30. 销毁用户登录之前的活动
你可以得到你的答案[这里](http://stackoverflow.com/questions/9972097/activity-lifecycle-issues)! –
参考活动B到C并调用ref.finish();其中ref是对B活动的引用。 – Akram