2014-02-18 5 views
0

У меня есть код, который вызывает намерение камеры с устройства Android, чтобы сделать снимок, после чего он вернется к предыдущему действию с сделанным снимком. Все работает нормально, но проблема в том, метке времени (когда проверить детали фотографий из галереи) на фото создано в 1969 году, я понятия не имею, почему это происходитНеверная отметка времени для камеры Android

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); 
    } 
+0

Как вы читаете метку времени? – AndyFaizan

+0

Я не знаю как – Casper

+0

Какое приложение для камеры вы используете? Вы используете реальное устройство или эмулятор? Это может показаться глупым, но проверьте дату на устройстве. – AndyFaizan

ответ

0

Если вы используете реальное устройство для тестирования , пожалуйста, проверьте вручную Time и Date.

ЕСЛИ вы используете Android Virtual Device, скорее всего, он будет использовать ваше время ПК. Поэтому убедитесь, что время вашего ПК правильное.

Подсказка: попытайтесь изменить изображение после создания, написав дополнительный символ в конце (не повлияет на изображение) и посмотрите дату последней модификации, если это также с 1969 года, тогда проблема выше

+0

Если я использую приложение для камеры напрямую, то дата прекрасна. Но когда вы используете его из моего приложения, дата неверна (1969). Однако дата с эмулятора кажется правильной, эта проблема возникает только на реальных устройствах (я тестировал уже со многими различными устройствами) – Casper

+0

Применяется ли это приложение только для изображений или создания каких-либо файлов? –

+0

Я только что проверил функцию розыгрыша в своем приложении, у сохраненного изображения тоже была неправильная дата, в чем проблема? – Casper

0

Я столкнулся с той же проблемой, после чего нашел решение.

Сначала я поместил следующий код перед вызовом android.provider.MediaStore.ACTION_IMAGE_CAPTURE как вы

ContentValues values = new ContentValues(); 
    mCapturedImageURI = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); 

тогда проблема началась.

Затем я разместил код внутри onActivityResult callback моя проблема решена.

@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 
    } 
Смежные вопросы