java - 使用相机拍照并将其保存到手机图库

标签 java android

我是 Android Studio 新手。我想通过点击按钮用手机摄像头拍摄照片,然后显示拍摄的照片,并且照片会自动保存在手机图库中。我找到了一些在线示例,但我拍摄的照片未保存在图库中。我已经使用了下面的代码。我可以寻求帮助吗?

@Override
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.buttonTakePhoto:
            Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(intent, CAMERA_PIC_REQUEST);
            break;
    }
} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CAMERA_PIC_REQUEST) {
        Bitmap image = (Bitmap) data.getExtras().get("data");
        ImageView imageview = (ImageView) findViewById(R.id.imageView);
        imageview.setImageBitmap(image);
    }
}

最佳答案

要使用相机 Intent 拍摄图像并将其存储在图库中,请使用此命令,您将在 onActivityResult 中获得结果

    private void takeImageFromCamera() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        File exportDir = new File(Environment.getExternalStorageDirectory(), "TempFolder");
        if (!exportDir.exists()) {
            exportDir.mkdirs();
        } else {
            exportDir.delete();
        }
        File mTempCameraPhotoFile = new File(exportDir, "/" + UUID.randomUUID().toString().replaceAll("-", "") + ".jpg");
        Log.d("TAG", "/" + UUID.randomUUID().toString().replaceAll("-", "") + ".jpg");
        takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mTempCameraPhotoFile));


        startActivityForResult(takePictureIntent, Config.CAMERA_PIC_REQUEST);

    }
}

关于java - 使用相机拍照并将其保存到手机图库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49000357/

相关文章:

android - RecyclerView 中的滚动条颜色

android - 在Unity3D生成的 "Android class name"中找到 "AndroidManifest.xml"

java - 如何在不覆盖的情况下向 Firebase Firestore 添加值?

java - 如何在 Java 中设置这些匿名类?

java - 在java中可以将公共(public)代码保留在单独的类中并将方法设置为静态吗?

android - 仅从画廊获取图像

安卓。设备和 API

java - 如何从 Java 小程序打开和关闭浏览器窗口?

java - AnnotationMethodHandlerExceptionResolver 消息转换器

java - 尝试在Java中播放音乐: java. lang.IllegalArgumentException:格式无效