onActivity的介绍:
处理子Activity的结果,当子Activity关闭时,onActivityResult事件处理程序将在父级触发。
可以通过重写该事件处理程序来处理子Activity的返回结果。
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); }
该事件处理程序中会接收三个参数分别是:requestCode,resultCode,data
三个参数的含义如下:
- requestCode:请求码,用于启动子Activity
- resultCode:子Activity设置的结果码,用于指示操作结果。可以是任何整数值,但通常是resultCode = =
RESULT_OK或resultCode==RESULT_CANCELED - Data:用于打包返回数据的Intent,可以包括用于表示所选内容的URI。子Activity也可以在返回数据Intent时,添加一些附加消息。
注意: 如果子Activity异常关闭,结果码的默认值为RESULT_CANCELED
用法
:
//从上一界面返回结果 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE_SCAN && resultCode == RESULT_OK) { if (data != null) { // 扫描二维码/条码回传 //返回的文本内容 String content = data.getStringExtra(DECODED_CONTENT_KEY); //返回的BitMap图像 Bitmap bitmap = data.getParcelableExtra(DECODED_BITMAP_KEY); //使用返回信息 Intent intent = new Intent(this, DevCodeAccessActivity.class); Bundle bundle = new Bundle(); bundle.putString("devcode", content); intent.putExtras(bundle); startActivity(intent, bundle); } } }
以上就是onActivityResult()的属性与用法,有不当之处,可在评论区指正!