android中使用startactivityforresult跳转Activity后需要重写onBackPressed()方法

Posted 一夜秋2014

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android中使用startactivityforresult跳转Activity后需要重写onBackPressed()方法相关的知识,希望对你有一定的参考价值。

android项目中经常会用startactivityforresult从一个Activity跳转到另一个Activity(这里指Activity_A和Activity_B),你可以从Activity_B返回数据到Activity_A中,

但是如果直接按手机返回键,因为并没有返回内容给Activity_A,所以程序会报错。

这事可以通过在Activity_B中重写onBackPressed()方法解决问题,代码如下:

private int backCode = 1;

@Override
 public void onBackPressed() {
        intent = new Intent();
        this.setResult(backCode, intent);
        this.finish();
  }

Activity_A中主要代码如下:

private final int baseCode = 1;

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // 根据请求码来区别
        switch (resultCode) {
            case baseCode:
                //什么都不做
                break;
            default:
                break;
        }
    }    

 

以上是关于android中使用startactivityforresult跳转Activity后需要重写onBackPressed()方法的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )

Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )

何时在 Android 中使用 RxJava,何时使用 Android 架构组件中的 LiveData?

在 Android 12 中使用 WorkManager

如何在Mac中使用Android SDK

如何在 android 应用程序中使用 OSM 地图。?有啥教程可以学习在android中使用OSM吗?