0

我希望我的应用程序在启动时检查用户名和密码是否保存在 sharedPreferences 中。如果它检测到这些凭据,则会显示一个登录页面,如果没有,则会显示一个注册页面。用户登录应用程序后,我希望整个应用程序关闭,无论是按下设备的后退按钮还是按下应用程序退出按钮。

除了应用程序正常关闭之外,我一切正常。我以为我编码正确,但我没有。选择退出和设备后退按钮时,如何关闭整个应用程序。

退出方法:

      public void onClick(DialogInterface dialog, int which) {
      // TODO Auto-generated method stub
      finish();
      }
      });
    builder.setNegativeButton("No", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface arg0, int arg1) {
               arg0.cancel();
            }
        });
    AlertDialog alert=builder.create();
    alert.show();
4

3 回答 3

3

只需finish()在按下后退按钮时调用您的活动。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        finish();
    }
    return super.onKeyDown(keyCode, event);
}
于 2012-09-26T23:01:33.290 回答
1

您可以使用此代码关闭或退出您的应用程序。

android.os.Process.killProcess(android.os.Process.myPid());
于 2013-10-05T10:37:55.173 回答
1
public void AppExit()
{

 this.finish();
 Intent intent = new Intent(Intent.ACTION_MAIN);
 intent.addCategory(Intent.CATEGORY_HOME);
 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 startActivity(intent);

/*int pid = android.os.Process.myPid();=====> use this if you want to kill your activity. But its not a good one to do.
 android.os.Process.killProcess(pid);*/

 }

当您想退出应用程序时调用此方法。

假设您想在按下后退按钮时退出应用程序,只需这样做

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
    AppExit();
}
return super.onKeyDown(keyCode, event);
}
于 2012-09-27T03:54:36.383 回答