admin 管理员组

文章数量: 887021


2023年12月25日发(作者:美国禁止使用字节跳动)

`startActivityForResult()` 是 Android 开发中用于启动一个新的

Activity 并获取其结果的函数。这个函数常用于在启动新的 Activity

后获取数据或执行一些操作,然后返回结果给前一个 Activity。

下面是 `startActivityForResult()` 的基本用法:

```java

public void startActivityForResult(Intent intent, int requestCode)

```

其中:

* `Intent` 是你想要启动的 Activity 的意图。

* `requestCode` 是你为这个请求设置的请求码,用于在

onActivityResult 中区分结果来源。

下面是一个简单的例子,启动一个新的 Activity 来选择一张图片,然后返回图片的 URI:

```java

public void selectImage() {

Intent intent = new Intent();

e("image/*");

ion(_GET_CONTENT);

startActivityForResult(intent, PICK_IMAGE_REQUEST);

}

```

在新的 Activity 中选择图片后,系统会返回一个结果给前一个

Activity。在前一个 Activity 的 `onActivityResult` 方法中,你可以根据请求码来获取你想要的结果:

```java

@Override

protected void onActivityResult(int requestCode, int resultCode,

Intent data) {

if (requestCode == PICK_IMAGE_REQUEST) {

if (data != null && a() != null) {

Uri uri = a();

// 在这里处理图片的 URI

} else {

// 处理没有返回结果的情况

}

} else {

// 处理其他请求的情况

}

}

```

请注意,如果结果是由 `startActivityForResult()` 产生的,那么返回的结果必须在 `onActivityResult()` 中被接收和处理。如果结果是其他方式产生的,比如通过 `setResult()` 方法,那么就不需要这样做。


本文标签: 结果 返回 请求 处理 图片