Tôi đã nghiên cứu và thử nhiều tùy chọn để thử và làm việc này nhưng không nhận được bất kỳ nơi nào với điều này.Không thể đặt Ngày Lấy/Thẻ ngày giờ bằng cách sử dụng ExifInterface trong Android
Điều tôi đang cố gắng làm là đặt thẻ Ngày chụp (Tag_DateTime) trong dữ liệu Exif của JPEG từ trong ứng dụng Android. Tôi đã có mã số làm việc để thiết lập các thẻ Latitude và Longitute, nhưng không thể cho cuộc sống của tôi nhận được thẻ Ngày chụp để thiết lập.
Đây là mã:
SimpleDateFormat fmt_Exif = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss");
try {
ExifInterface exif = new ExifInterface(filePhoto.getPath());
// Set and save the GPS and time data
exif.setAttribute(ExifInterface.TAG_GPS_LATITUDE, strLat);
exif.setAttribute(ExifInterface.TAG_GPS_LONGITUDE, strLong);
exif.setAttribute(ExifInterface.TAG_DATETIME, fmt_Exif.format(locLatestLocation.getTime()));
exif.saveAttributes();
} catch (IOException e) {
e.printStackTrace();
}
- locLatestLocation - Vị trí được sử dụng để có được thời gian trong mili giây.
- fmt_Exif - SimpleDateFormat được sử dụng để định dạng thời gian mili giây sang định dạng chính xác cho thẻ TAG_DateTime Exif.
- strLat & strLong - Được điền ở nơi khác ở định dạng chính xác để đặt thẻ Latitude và Kinh độ.
Tôi đọc trong một bài đăng ở đâu đó rằng thẻ cần phải được viết theo định dạng mili giây, vì vậy đã thử điều này quá vô ích. Để xác nhận định dạng của tôi với những gì thực sự được lưu trữ, tôi đọc và xuất ra thẻ chưa được định dạng từ tệp jpeg có thẻ Ngày được lấy, nhưng đầu ra ở định dạng chính xác như những gì tôi đang viết cho thẻ và vẫn không làm việc. Nó cũng có thể đáng nói rằng tôi đã nhìn vào lớp Sanselan để làm điều này, và do sự phức tạp và thiếu các ví dụ sẽ cố gắng và làm cho giải pháp hiện tại của tôi hoạt động trước khi chuyển sang một giải pháp hoàn toàn khác.
Có ai quản lý để làm điều này và nếu vậy tôi đang làm gì sai ??
Bạn đã tìm thấy giải pháp nào chưa? Nếu tôi cố gắng thiết lập trường "DateTime", có hai trường như vậy trong dữ liệu EXIF sau khi lưu ... – pbu