怎么通过Uri找到照片并传至另一个activity
时间: 2023-08-10 22:08:05 浏览: 43
要通过Uri找到照片并传至另一个Activity,可以按照以下步骤操作:
1. 在第一个Activity中选择照片并获取其Uri:
```java
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, PICK_IMAGE_REQUEST);
```
2. 在onActivityResult()方法中获取照片Uri,并将其传递给第二个Activity:
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
Uri uri = data.getData();
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("imageUri", uri.toString());
startActivity(intent);
}
}
```
3. 在第二个Activity中获取传递的Uri,并显示照片:
```java
String imageUriString = getIntent().getStringExtra("imageUri");
Uri imageUri = Uri.parse(imageUriString);
ImageView imageView = findViewById(R.id.imageView);
imageView.setImageURI(imageUri);
```
注意:在使用Uri传递照片时,需要注意Uri的权限问题。如果Uri是通过Intent传递的,需要确保Intent的flag包括FLAG_GRANT_READ_URI_PERMISSION。如果Uri是从ContentProvider中获取的,需要在AndroidManifest.xml中为ContentProvider添加读取权限。