android - Camera Intent 返回 null onActivityResult

标签 android android-camera-intent

我正在尝试拍照并将其保存到自定义位置-

public void SavePhoto(View view){

    Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());

    File imagesFolder = new File(Environment.getExternalStorageDirectory(), "WorkingWithPhotosApp");
    imagesFolder.mkdirs();

    File image = new File(imagesFolder, "QR_" + timeStamp + ".png");
    Uri uriSavedImage = Uri.fromFile(image);

    imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
    startActivityForResult(imageIntent, REQUEST_IMAGE_CAPTURE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if(data==null){
        Toast.makeText(MainActivity.this, "Data is null", Toast.LENGTH_SHORT).show();
    }
    else{
        if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
            Bundle extras = data.getExtras();
            Bitmap imageBitmap = (Bitmap) extras.get("data");
            ImageView mImageView=(ImageView)findViewById(R.id.imageView);
            mImageView.setImageBitmap(imageBitmap);
        }
    }
}

onActivityResult() 中的数据为空。我错过了什么?

最佳答案

您在这里预先插入一个 uri:

 imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);

因此,当您获得 Activity.RESULT_OK 时,只需通过其已知 url 加载拍摄的照片。然后你可以像下面这样设置路径 onActivityResult 但你需要转换成位图。

if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
           // Convert here your uri to bitmap then set it.//
            mImageView.setImageBitmap(YOUR_BITMAP);
 }

关于android - Camera Intent 返回 null onActivityResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37628580/

相关文章:

android - 从相机获取图像时布局 getHeight() 和 getWidth() 返回 0

android - 如何在gradle中设置对其他口味的依赖

android - 如何在设备在 android 中移动时在谷歌地图上移动标记(当前标记)

android - 如何存储值并在方向改变时检索它?

android - 从 DialogInterface.OnClickListener 中的 startActivityForResult

使用相机捕获的 Android 图像不会保存在 android nougat 上的指定自定义文件夹中

Android:通过相机拍摄照片后无法调用 onActivityResult() 方法

java - UnsupportedOperationException 打开相机时出错 android

android - 如何为 BlackBerry、IOS 和 Android 集成 HTML 5?

android - Charts4j 库在 Java 项目上工作但不在 Android 项目上工作?