奇怪的相机意图行为

时间:2011-02-22 14:51:15

标签: android camera android-intent

我正在调用MediaStore.ACTION_IMAGE_CAPTURE意图 额外的MediaStore.EXTRA_OUTPUT,以便它将图像保存到该 文件。

在onActivityResult上,我可以检查图像是否正在保存 目标文件,这是正确的。奇怪的是无论如何, 图像也保存在一个名为的文件中 “/sdcard/Pictures/Camera/1298041488657.jpg”(纪元时间 图像拍摄)。

我已经检查过相机应用程序来源(froyo-release分支),我就是 几乎确保代码路径正确无需保存 图像,但我是一个菜鸟,我不完全确定。 AFAIK,图像 保存过程从此回调开始(评论是我的):

private final class JpegPictureCallback implements PictureCallback {
...
   public void onPictureTaken(...){
       ...
       // This is where the image is passed back to the invoking activity.
       mImageCapture.storeImage(jpegData, camera, mLocation);
       ...

       public void storeImage(final byte[] data,
               android.hardware.Camera camera, Location loc) {
           if (!mIsImageCaptureIntent) {      // Am i an intent?
               int degree = storeImage(data, loc); // THIS SHOULD NOT
BE CALLED WITHIN THE CAPTURE INTENT!!
            .......

      // An finally:
       private int storeImage(byte[] data, Location loc) {
           try {
               long dateTaken = System.currentTimeMillis();
               String title = createName(dateTaken);
               String filename = title + ".jpg";  // Eureka,
timestamp filename!
                ...

所以,我收到了正确的数据,但它也被保存在 “storeImage(data,loc);”方法调用,不应该调用...

如果我能从中获取新创建的文件名,那就没问题了 意图结果数据,但我不能。当我发现这一点时,我发现了 我测试的大约20个图像文件我不知道 SD卡:)

我的这个行为与我的带有Froyo和我的Nexus One有关 华为U8110与Eclair。

能取悦任何人吗?

非常感谢。

0 个答案:

没有答案