【发布时间】:2014-01-06 23:27:09
【问题描述】:
我在尝试使用自定义文件名保存图像的 Android 活动中有以下代码。
我尝试从这篇文章的最佳答案中复制代码:Android - Taking photos and saving them with a custom name to a custom destination via Intent
我的代码如下:
//camera stuff
Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
//folder stuff
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "MyImages");
imagesFolder.mkdirs();
File image = new File(imagesFolder, "QR_" + timeStamp + ".png");
Uri uriSavedImage = Uri.fromFile(image);
imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
Log.d(LOG_TAG, "writing photo to: " + uriSavedImage.toString());
startActivityForResult(imageIntent, 1);
当我运行这个活动时,它会在屏幕上显示一张图片,我必须点击触摸板才能接受(这是在 Glass 上运行的),它会在 DDMS 中打印以下内容:
writing photo to: file:///mnt/sdcard/MyImages/QR_20140106_181934.jpg
但是,当我通过 DDMS 在文件资源管理器中检查该目录时,它是空的。它成功创建了 MyImages 目录,但没有在该目录中保存任何文件。
相反,它使用我刚刚拍摄的图像创建了以下文件:/mnt/sdcard/DCIM/Camera/20140106_181935_635.jpg
所以它捕获了正确的图像,但只是忽略了我告诉它保存它的位置。任何想法我做错了什么?
【问题讨论】:
标签: android android-camera google-glass android-camera-intent google-gdk