直接在内部存储中捕获图像
Posted
技术标签:
【中文标题】直接在内部存储中捕获图像【英文标题】:Capture images directly in internal storage 【发布时间】:2014-09-22 02:12:10 【问题描述】:是否可以通过在 Intent 中传递内部存储的 uri 在 android 中通过相机捕获图像?如果是怎么办?我尝试了以下方式,但它给出了 JHEAD 无法读取错误。
File mediaStorageDir = getFilesDir();
File newFile = new File(mediaStorageDir,IMAGE_DIRECTORY_NAME);
Uri newUri = Uri.fromFile(newFile);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, newUri);
startActivityForResult(intent, CAMERA_CAPTURE_IMAGE_REQUEST_CODE);
【问题讨论】:
【参考方案1】:这是因为小错误。您传递的是目录而不是文件名。
试试这个方法希望对你有帮助
File mediaStorageDir = getFilesDir();
File newFile = new File(mediaStorageDir,new Date().getTime() + ".png");
Uri newUri = Uri.fromFile(newFile);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, newUri);
startActivityForResult(intent, CAMERA_CAPTURE_IMAGE_REQUEST_CODE);
【讨论】:
以上是关于直接在内部存储中捕获图像的主要内容,如果未能解决你的问题,请参考以下文章