Android相机意图时间戳不正确

时间:2014-02-18 07:43:26

标签: android android-intent camera timestamp

我有一个代码从Android设备调用相机意图来拍照,之后它将返回到拍摄照片的上一个活动。一切正常,但问题是照片的时间戳(当检查图库中的照片细节时)是在1969年创建的。我不知道为什么会发生这种情况

    Uri mCapturedImageURI;

    public void onClick(View v) {
        ContentValues values = new ContentValues();
        mCapturedImageURI = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
        Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
        startActivityForResult(cameraIntent, TAKE_PHOTO);
    }

2 个答案:

答案 0 :(得分:0)

如果您使用的是真实设备进行测试,请手动检查设备设置中的TimeDate

如果您使用的是Android Virtual Device,很可能它会使用您的PC时间。因此,请确保您的PC时间正确。

提示:尝试在创建后通过在末尾写一个额外的字符来修改图像(不会影响图像)并查看上次修改日期,如果它也是自1969年以来,那么问题是上面的

答案 1 :(得分:0)

我遇到了同样的问题,然后我找到了解决方案。

首先,我在调用android.provider.MediaStore.ACTION_IMAGE_CAPTURE之前放置了以下代码

  ContentValues values = new ContentValues();
  mCapturedImageURI = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
然后问题就开始了。

然后,我将代码置于onActivityResult回调中,解决了我的问题。

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    ContentValues values = new ContentValues();  
    this.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);  
    startImageUpload(); // My upload process
    }