android - 我可以强制 Android 后退按钮在 Activity 堆栈中后退两步吗?

标签 android android-activity

我知道我可以重写 onKeyDown 方法,但我希望 Back 执行此操作,只需两次!

最佳答案

FirstActivity

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);

第二个 Activity

int REQUEST_CODE = 123
Intent intent = new Intent(SecondActivity.this, ThirdActivity.class);
startActivityForResult(intent, REQUEST_CODE);

(为了使这个教学法有更多代码用于下面的这个 Activity )

第三 Activity

@Override
public void onBackPressed() {
    // Semi ugly way of supporting that back button takes us back two activites instead of the usual one.
    setResultOkSoSecondActivityWontBeShown();
    finish();   
}

private void setResultOkSoSecondActivityWontBeShown() {
    Intent intent = new Intent();
    if (getParent() == null) {
    setResult(Activity.RESULT_OK, intent);
    } else {
        getParent().setResult(Activity.RESULT_OK, intent);
    }
}

SecondActivity(再次)

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 123) {
        if (resultCode == RESULT_OK) {
            finish();
        }
    }
}

关于android - 我可以强制 Android 后退按钮在 Activity 堆栈中后退两步吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2591900/

相关文章:

android - GsonFactory 空反序列化

android - com.admob.android.ads.AdView 未绑定(bind)前缀?

android - "visibility"在 Activity 生命周期中指的是什么? onPause vs onStop?

java - 如何在 Android Imageview 中将 xml 中的一种颜色替换为另一种颜色(从黑到白)?

android - 如何在手机中仅启用纵向和反向纵向, "sensorPortrait"在手机上不起作用?

安卓菜单图标大小

android - 当我的 Activity 依赖于通过 Intent 传递的额外内容时,如何编写 android JUnit 测试?

android - AndroidAnnotations 的继承 Activity

android - 将命令从 Activity 发送到 android 中的服务

java - 如何将包含位图的对象传递给另一个 Activity