【发布时间】:2015-11-09 15:02:45
【问题描述】:
我的 android 应用程序中有 5 个活动,在最后一个活动中,我想要一个关闭按钮,通过一个一个完成每个活动来退出应用程序?
【问题讨论】:
-
你应该展示一些你已经尝试过的代码。
标签: android android-activity activity-finish
我的 android 应用程序中有 5 个活动,在最后一个活动中,我想要一个关闭按钮,通过一个一个完成每个活动来退出应用程序?
【问题讨论】:
标签: android android-activity activity-finish
您可以执行以下步骤:
在您要退出的活动中执行以下操作:
Intent intent = new Intent(this, RootActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//this will clear all the stack
intent.putExtra("extra_exit", true);
startActivity(intent);
finish();
并在 RootActivity.class 的 onCreate 和 onNewIntent 中:
public void onCreate(Bundle savedInstance){
...
if(!checkExtraToExit(intent)){
//do activity initialization
...
}
...
}
public void onNewIntent(Intent intent){
if(!checkExtraToExit(intent)){
super.onNewIntent(intent);
}
}
public boolean checkExtraToExit(Intent intent){
if( intent.getBooleanExtra("extra_exit", false)){
finish();
return true;
}
return false;
}
【讨论】:
把它写在你的 onclick 监听器中。它将关闭应用程序。
System.exit(0);
【讨论】:
您是否想过调用startActivityForResult 并在onActivityResult 检查正确的代码和结果并调用finish?
【讨论】:
使用以下代码
Intent intent = new Intent(this, YourActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//this will clear all the stack
intent.putExtra("sometext", true);
startActivity(intent);
finish();
然后在 onCreate() 的 YourActivity 中写下以下几行
if( getIntent().getBooleanExtra("sometext", false)){
finish();
return; // it will take you out
}
【讨论】: