我遇到以下问题:我打开了活动A,从中打开了活动B.然后,我想从B打开活动C,以便在按下背面时按钮,C应用程序应该关闭,而不是返回到前面的(B)活动。我试图使用这里的想法(http://stackoverflow.com/questions/5794506/android-clear-the-back-stack),但他们不工作。我知道如何处理意图,我只对后退导航问题感兴趣。关闭应用程序而不是返回到之前的活动
1
A
回答
6
启动活动,这样的..
这活性的
int k=1;
Intent i=new Intent(A.this,B.class);
startActivityForResult(i,k);
这活动B
int j=1;
Intent i=new Intent(B.this,C.class);
startActivityForResult(i,j);
在活动ç覆盖后退按钮
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
setResult(RESULT_OK, null);
finish();
}
return super.onKeyDown(keyCode, event);
}
并把这个活动B
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode ==1) {
if (resultCode == RESULT_OK) {
setResult(RESULT_OK, null);
finish();
}
}
并把这个活动一
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode ==1) {
if (resultCode == RESULT_OK) {
finish();
}
}
}
1
将finish()
放在活动A和B的onStop()
中。这会关闭两个活动,所以当您从活动C中按下返回按钮时,应用程序将退出。这将解决您的问题
public void onStop(){
super.onStop();
finish();
}
0
在BackPress可以使用
System.exit(0);
完成的应用。
1
我强烈反对调用System.exit(0);
你可以做的是以下几点。活动A在StartActivity(B)之后立即调用finish()。同样,B在startActivity(C)之后立即调用finish()。这样,C是唯一的活动活动,并且按回来停止应用程序。或者说,将其从堆栈中移除。
你不应该在onStop()中调用finish()。在开始新的活动时或在活动中完成处理时调用完成()。
顺便说一下,finish()不会立即完成您的活动。完成被放置在堆栈上,并在当前方法结束后立即执行。同样,startActivity不会立即执行,它会在当前方法结束时执行。
0
您可以使用代码进入设备主屏幕。
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
相关问题
- 1. 单击按钮而不是返回主活动后,应用程序关闭
- 2. 应用程序关闭后,返回到相同的活动
- 3. 返回按钮关闭应用程序,而不是在Windows Phone 8.1上返回
- 4. 可可:返回到前一个活动的应用程序?
- 5. 从自定义布局活动中按回按钮关闭应用程序,而不是返回到前一屏幕
- 6. 活动2中的后退按钮关闭应用程序,而不是进入Android 7中的活动1
- 7. Android创建新进程而不是返回到后台活动
- 8. Facebook:从应用程序活动链接到URL而不是应用程序
- 9. 强制关闭Android活动之前的回调?
- 10. 点击设备返回按钮关闭应用程序,而不是回到上一页
- 11. 在Android中返回之前的活动
- 12. 正从另一个活动,并返回结果值,而不关闭当前活动
- 13. 关闭当前应用程序并启动Play商店的所有活动
- 14. Android应用程序在关闭主要活动时不会关闭
- 15. 后退按钮关闭导航后的应用程序,但不是之前
- 16. n秒钟不活动后关闭WPF应用程序
- 17. 在应用程序退出之前,socketpair端应该关闭吗?
- 18. 什么会导致活动TCP关闭返回而不通知被动端?
- 19. 在webtest之前以编程方式关闭应用程序
- 20. 调用其他应用程序后返回到活动
- 21. 无法关闭javafx应用程序而不关闭整个程序
- 22. 会在主关闭应用程序之外的类中使用C++返回0?
- 23. 从当前活动回到之前的活动
- 24. 应用程序关闭时SqlConnection是否自动关闭?
- 25. 关闭应用程序之前做东西的方法?
- 26. 我的应用程序突然显示之前关闭RecyclerView
- 27. 在调用Application.Run()之前关闭(退出)和应用程序?
- 28. 关闭C#WPF应用程序之前询问用户
- 29. asp.net web应用程序返回IIS信息而不是当前用户凭据
- 30. 应用程序强制关闭在启动导航栏活动