我正在开发一个应用程序,其中我有一个对话框,当我点击退出按钮时,我想关闭应用程序,但有时应用程序不会完成并返回到我的第一个活动。我不明白该怎么做。
相同的代码
AlertDialog.Builder alertDialog = new AlertDialog.Builder(getContext());
alertDialog.setMessage(context.getResources().getString(R.string.app_close_dialog_msg));
alertDialog.setPositiveButton(R.string.app_close_dialog_msg_yes, new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dismiss();
((Activity) context).finish();
//((Activity) context). moveTaskToBack(true);
System.exit(0);
android.os.Process.killProcess(android.os.Process.myPid());
}
});
答案 0 :(得分:2)
<强>唐&#39;吨强>
if(button.name=="some name")
<强>不要强>
System.exit(0);
android.os.Process.killProcess(android.os.Process.myPid());
答案 1 :(得分:1)
如果您的minSdk&gt; = 16,请尝试拨打ActivityCompat.finishAffinity(activity);
,这应该会关闭您应用的所有活动
答案 2 :(得分:0)
AlertDialog.Builder alertDialog = new AlertDialog.Builder(getContext());
alertDialog.setMessage(context.getResources().getString(R.string.app_close_dialog_msg));
alertDialog.setPositiveButton(R.string.app_close_dialog_msg_yes, new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
finish();
break;
}
}
这样做会有效。
答案 3 :(得分:0)
请勿添加系统killprocess方法,而必须添加finishaffinity()
方法以退出应用程序。下面是代码:
AlertDialog.Builder alertDialog = new AlertDialog.Builder(getContext());
alertDialog.setMessage(context.getResources().
getString(R.string.app_close_dialog_msg));
alertDialog.setPositiveButton(R.string.app_close_dialog_msg_yes,new
OnClickListener() {
public void onClick (DialogInterface dialog,int which){
dismiss();
((Activity) context).finishAffinity();
}
});