【发布时间】:2019-07-09 21:14:45
【问题描述】:
我的应用的主要活动是“LoginActivity”。如果用户登录一次绕过登录活动,应用程序每次都会打开主活动。我想在 Main Activity 上使用后按事件退出应用程序。如果我使用“finish();”在 Main Activity 上,我的应用程序正在后台工作,我想关闭应用程序。,我该如何解决这个问题。
登录活动:
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(LoginActivity.this);
boolean alreadysignIn = sharedPreferences.getBoolean("haveCurrUser", false);
if (alreadysignIn) {
GoToMainActivity();
}
private void GoToMainActivity() {
//Using For by-pass to log in Activity.
//Use for log out.
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
sharedPreferences.edit().putBoolean("haveCurrUser", true).apply();
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
主活动:
private long backPressedTime;
....
@Override
public void onBackPressed() {
if (backPressedTime + 2000 > System.currentTimeMillis()) {
snackbar.dismiss();
super.onBackPressed();
finish();
} else {
snackbar = Snackbar.make(layoutMainContainer, getResources().getString(R.string.exit_info), Snackbar.LENGTH_SHORT);
snackbar.show();
}
backPressedTime = System.currentTimeMillis();
}
【问题讨论】:
-
能否分享一下LoginActivity.class和MainActivity.class的代码
-
我添加了相关代码,如果你愿意我可以分享更多@yash786
-
是的,你能分享这两个类的完整代码吗?
标签: android exit onbackpressed