私はこれを試して動作させるために数多くのオプションを研究し、試しましたが、残念ながらこれでどこにも行きません。私は、AndroidのExifInterfaceを使ってTaken/DateTimeタグを設定しました
私がやっているのは、Androidアプリ内のJPEGのExifデータにDate Takenタグ(Tag_DateTime)を設定することです。私はすでにLatitudeタグとLongituteタグを設定する作業コードを持っていますが、私の人生ではDateタグを設定することはできません。ここで
は、コードは次のとおりです。
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 - ミリ秒単位の時間を取得するために使用されている場所。
- fmt_Exif - TAG_DateTime Exifタグの正しいフォーマットにミリ秒の時間をフォーマットするために使用されるSimpleDateFormat。
- strLat & strLong - 緯度と経度のタグを設定するための正しい形式の他の場所に設定されています。
私はタグをミリ秒フォーマットで書き込む必要があるので、これも無駄にしてみました。 実際に格納されているものでフォーマットを確認するために、Date Takenタグを持つjpegファイルから未フォーマットタグを読み込んで出力しましたが、出力はタグに書き込んでいるものとまったく同じフォーマットですまだ動かない。
これを行うためにSanselanクラスを検討していることに言及する価値があるかもしれません。複雑さと例がないため、完全に異なるものに変更する前に既存のソリューションを試してみてください。
誰でもこれを行うことができましたかもしそうなら、私は何が間違っていますか?
解決しましたか? 「DateTime」フィールドを設定しようとすると、保存後にEXIFデータに2つのフィールドがあります。 – pbu