在 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();