退出Android应用程序
我的应用程序包含12个活动。我可以一次单击退出整个应用程序吗?finish()仅完成单个活动和上一个已启动的活动。请帮助我解决此问题启动要从中关闭所有活动的活动时,请在意图中添加一个标志退出Android应用程序,android,Android,我的应用程序包含12个活动。我可以一次单击退出整个应用程序吗?finish()仅完成单个活动和上一个已启动的活动。请帮助我解决此问题启动要从中关闭所有活动的活动时,请在意图中添加一个标志 AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder( this); alertDialogBuilder.setTitle("Exit App?"); a
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
this);
alertDialogBuilder.setTitle("Exit App?");
alertDialogBuilder
.setMessage("Click yes to exit!")
.setCancelable(false)
.setPositiveButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
dialog.cancel();
}
})
.setNegativeButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
moveTaskToBack(true);
android.os.Process
.killProcess(android.os.Process
.myPid());
System.exit(0);
}
});
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
这将使您当前的活动处于顶部,因此当您完成此任务时,您的任务将完成创建所有活动的静态实例
public class Activity1 extends FragmentActivity {
private static Activity1 sActivity;
public static Activity1 getsActivity() {
return sActivity;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sActivity = this;
}
@Override
protected void onDestroy() {
super.onDestroy();
sActivity = null
}
}
}
现在,在实用程序类中创建一个exit方法,如,并开始从更高的层次终止活动,然后从应用程序中的任何位置调用它
public static void exitApp(){
if(Acitivity10.getsActivity() != null){
Activity10.getsActivity.finish();
}
if(Acitivity9.getsActivity() != null){
Activity9.getsActivity.finish();
}
-
-
if(Acitvity1.getsActivity()!= null){
Activty1.getsActivity().finish();
}
}
Sorry@DemoSharma,它不工作。不使用系统,退出()。有很多理由不这么做,但主要是因为它搞砸了Androids应用程序的内存管理。每次键入新搜索时,它都会选择新的搜索活动。你需要能够处理多个相同类型的活动。嗯,这样我们就不能处理杀死多个相同类型的活动,cz它只会杀死当前的活动,其余的活动将保持不变。我们可能会使用一组weakreference。也许一个带有WeakReferences和回调的ArrayList会将空引用从列表中删除,这样它就不会无法控制地增长。确切地说,ArrayList在这种情况下可以工作,但我认为对于上述情况,它可以正常工作。不是吗?我不敢说。如果OP一次只有每个活动的一个实例,它就足够了。