那如果我拍完照想将照片显示在另一个activity怎么办
时间: 2024-05-06 22:19:06 浏览: 8
你可以将照片作为一个数据传递到另一个activity中,然后在目标activity中显示该照片。具体步骤如下:
1. 在拍照的activity中获取照片的数据,可以使用以下代码:
```java
// 获取照片数据
Bitmap photo = (Bitmap) data.getExtras().get("data");
// 将照片数据作为Intent附加到新的Intent对象中
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra("photo", photo);
startActivity(intent);
```
2. 在目标activity中获取照片数据,并显示该照片。可以使用以下代码:
```java
// 获取照片数据
Bitmap photo = getIntent().getParcelableExtra("photo");
// 显示照片
ImageView imageView = findViewById(R.id.imageView);
imageView.setImageBitmap(photo);
```
这样就可以在新的activity中显示拍摄的照片了。需要注意的是,如果照片数据过大,可能会导致传递数据失败或时间较长,建议将照片保存到本地文件中,并在新的activity中读取文件进行显示。
相关问题
如何将相机拍的照片用Uri传输到另外一个activity后,在其UI界面上显示出来
你可以使用`Intent`将照片的Uri传递到另一个Activity,然后在该Activity中使用`ImageView`控件显示照片。
在第一个Activity中,你可以通过以下方式获取照片Uri:
```java
// 获取相机拍摄的照片
Uri photoUri = data.getData();
```
然后,你可以通过创建一个新的`Intent`并将照片Uri作为参数传递到另一个Activity:
```java
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("photoUri", photoUri.toString());
startActivity(intent);
```
在第二个Activity中,你可以通过以下方式获取传递的照片Uri,并将其显示在`ImageView`控件中:
```java
// 获取传递的照片Uri
String photoUriString = getIntent().getStringExtra("photoUri");
Uri photoUri = Uri.parse(photoUriString);
// 将照片显示在ImageView控件中
ImageView imageView = findViewById(R.id.imageView);
imageView.setImageURI(photoUri);
```
注意,如果你使用了`android:requestLegacyExternalStorage="true"`属性,可能需要使用`FileProvider`来处理Uri。
如何将相机拍的照片传输到另外一个activity中
你可以通过以下步骤将相机拍摄的照片传输到另一个Activity中:
1. 在第一个Activity中启动相机应用程序,并在拍摄完成后获取照片的URI。
2. 将URI作为数据添加到Intent对象中。
3. 启动第二个Activity并将Intent传递给它。
4. 在第二个Activity中通过Intent获取URI,并使用它来显示照片。
以下是示例代码:
在第一个Activity中:
```java
// 启动相机应用程序
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, REQUEST_IMAGE_CAPTURE);
// 获取拍摄的照片
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
// 获取照片的URI
Uri uri = data.getData();
// 将URI添加到Intent对象中
Intent intent = new Intent(this, SecondActivity.class);
intent.setData(uri);
// 启动第二个Activity并传递Intent
startActivity(intent);
}
}
```
在第二个Activity中:
```java
// 获取Intent中的URI并使用它来显示照片
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
ImageView imageView = findViewById(R.id.imageView);
Intent intent = getIntent();
Uri uri = intent.getData();
imageView.setImageURI(uri);
}
```