我想在应用中添加一项功能。我想在我点击退出按钮时关闭应用程序,但我的按钮在Dialog上,所以当我尝试使用finish()时不会这样做。我只是想关闭app.Please帮助。
//相同的代码
if (v.getId() == R.id.imgLogout) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(getContext());
alertDialog.setMessage("Are you sure you want to exit?");
alertDialog.setPositiveButton("YES", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// session.logoutUser();
finish();
}
});
//但是在Dialog
中完成不起作用答案 0 :(得分:1)
首先关闭所有已暂停的活动。比你可以关闭应用程序。你记得这个活动是最后一次。
if (v.getId() == R.id.imgLogout) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(getContext());
alertDialog.setMessage("Are you sure you want to exit?");
alertDialog.setPositiveButton("YES", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
// context.finish(); if use in fragment
}
});
答案 1 :(得分:0)
首先在对话框类中传递调用者活动的上下文,然后说MainActivit.class context
现在先关闭对话框
//为了避免窗口泄漏,就像破坏活动一样,它的上下文也会消失。
dialog.dismiss();
然后
((Activity) context).finish();
答案 2 :(得分:0)
关闭应用的一种非常简单的方法是:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
所以在你的情况下试试这个:
if (v.getId() == R.id.imgLogout) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(getContext());
alertDialog.setMessage("Are you sure you want to exit?");
alertDialog.setPositiveButton("YES", new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// session.logoutUser();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
}
});