在 activity 上处理背压
Handling backpress on activity
我有 2 个 activity 在登录 activity 中调用 Login 和 Main返回登录 activity 但我想处理后退按钮,也许还有一个对话框“您确定要退出应用程序吗?”或类似的内容。
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
此代码块在我的登录活动中
如果用户已登录,您可以在 onBackPressed 中处理:
override fun onBackPressed() {
if(!user.isLoggedIn()){
val intent = Intent(this@LoginActivity, MainActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
startActivity(intent)
finish()
}else{
//Show alert
}
}
将以下代码复制并粘贴到 MainActivity.java 中的 onBackPressed() 方法中。
new AlertDialog.Builder(MainActivity.this)
.setTitle("Confirm close")
.setMessage("Are you sure want to close app")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which {
finish();
}
}).setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which {
dialog.dismiss();
}
}).create().show();
我有 2 个 activity 在登录 activity 中调用 Login 和 Main返回登录 activity 但我想处理后退按钮,也许还有一个对话框“您确定要退出应用程序吗?”或类似的内容。
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
此代码块在我的登录活动中
如果用户已登录,您可以在 onBackPressed 中处理:
override fun onBackPressed() {
if(!user.isLoggedIn()){
val intent = Intent(this@LoginActivity, MainActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
startActivity(intent)
finish()
}else{
//Show alert
}
}
将以下代码复制并粘贴到 MainActivity.java 中的 onBackPressed() 方法中。
new AlertDialog.Builder(MainActivity.this)
.setTitle("Confirm close")
.setMessage("Are you sure want to close app")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which {
finish();
}
}).setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which {
dialog.dismiss();
}
}).create().show();