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()` 方法,那么就不需要这样做。
版权声明:本文标题:android startactivityforresult用法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1703465305h452596.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论