Q
关闭另一个活动
-1
A
回答
0
前几天我有这个问题,我很高兴地告诉你,我找到了解决办法。
首先,对活动要停止在AndroidManifest.xml
补充一点:
android:launchMode="singleTop"
我要使用一个CheckBox实例。当它被检查时,活动已开始,未选中时将终止该活动。
示例活动A正在调用活动B,然后使用意向对其进行杀死。被放在一个
代码:
checkbox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(A.this, B.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
if (enable.isChecked()) {
intent.putExtra("keep", true);
startActivity(intent);
}
else
{
intent.putExtra("keep", false);
startActivity(filterAct);
}
}
});
代码被放入B:
boolean keep;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.B);
intent = this.getIntent();
boolean keep = brightnessIntent.getExtras().getBoolean("keep");
if(keep==true)
{
//execute your code here
}
}
@Override
protected void onNewIntent(Intent intent)
{
super.onNewIntent(intent);
keep = intent.getExtras().getBoolean("keep");
if(keep==false)
{
B.this.finish();
}
}
}
说明:这是什么基本上做的是,当复选框被选中它调用的活动,传递一个布尔值,如果它是真的活动保持活跃并被带到前台。现在,如果您未通过国旗singleTop
,则会创建此活动的许多实例。 singleTop
确保只调用同一个实例。现在,当取消选中复选框时,将传递一个新的keep值,并在B中进行验证。如果未选中,则活动A将传递false,因此B将从onNewIntent()
函数中自行终止。
P.S - 您也可以从其他活动中关闭活动B.只需使用 如果另一项活动是C:
Intent intent = new Intent(C.this, B.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("keep", false);
startActivity(intent);
0
您可以使用对方的回答杀死一个活动,但它不是直接的原因是,他们真的想你了跟随活动的生命周期。
http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
在你的onPause()的实现,你应该停顿与活动有关的任何长期运行的处理,除非有充分的理由继续下去。
除非需要内存,否则Android会保留Activity,因为重用已经实例化的Activity要比实例化一个新的Activity快得多。最好让Android为你管理内存,而不仅仅是自己杀死活动。
相关问题
- 1. 关闭另一个类的活动
- 2. 如何从另一个活动关闭活动Android
- 3. 从另一个FormClosed事件中关闭一个活动表单
- 4. Android应用程序部队在关闭另一个活动时关闭
- 5. 关闭一项活动
- 6. 打开另一个活动后关闭导航抽屉
- 7. 关闭另一个活动的弹出窗口
- 8. 关闭一个具体的活动android
- 9. 队第一个活动后关闭
- 10. 如何关闭一个应用程序,如果我有一个动画活动,调用另一个活动
- 11. 关闭父活动并启动一个新活动
- 12. 关闭一个活动上新的活动
- 13. 从前台发送一个Intent活动到另一个没有关闭它
- 14. AlertDialog在按照意图启动另一个活动后不会自动关闭
- 15. 关闭2活动
- 16. Android:在关闭WiFi时关闭活动
- 17. 关闭一个JFrame而不关闭另一个?
- 18. highcharts链接系列,使一个关闭关闭另一个
- 19. 从另一个活动调用另一个活动
- 20. 关闭一个DIV打开另一个
- 21. GCM关闭活动的活动
- 22. 从另一个活动更新活动
- 23. Android,关闭只有一些活动
- 24. 两个活动:错误强制关闭
- 25. 后退按钮关闭两个活动?
- 26. 同时关闭几个android活动
- 27. 安卓“关闭”活动
- 28. 关闭活动TabHost退出
- 29. 的Android,活动被关闭
- 30. svg:激活/关闭动画