rn获取原生相机和相册
时间: 2024-02-03 10:11:19 浏览: 18
获取原生相机和相册需要使用Android中的Intent。以下是获取相机和相册的代码示例:
### 获取相机
```java
private static final int REQUEST_IMAGE_CAPTURE = 1;
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
// 在这里处理拍摄到的照片
}
}
```
### 获取相册
```java
private static final int REQUEST_PICK_IMAGE = 2;
private void dispatchPickImageIntent() {
Intent pickImageIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
if (pickImageIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(pickImageIntent, REQUEST_PICK_IMAGE);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_PICK_IMAGE && resultCode == RESULT_OK) {
Uri imageUri = data.getData();
// 在这里处理选择的照片
}
}
```
注意:在AndroidManifest.xml文件中添加以下权限,以便应用程序可以访问相机和相册:
```xml
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```