2017-12-13 9 views
0

ExifInterfaceTAG_IMAGE_DESCRIPTIONを使用して画像のタイトルを取得しようとしていますが、常にnullになります。それは緯度と経度、または他のフィールドのために働いていますが、このフィールドはありません。ExifInterfaceタイトル常にnull

ExifInterface exifInterface = new ExifInterface(getContentResolver().openInputStream(targetUri)); 
    Log.d("Image", exifInterface.getAltitude(0)+" and latitude "+ exifInterface.getLatLong()[0]); 
    Log.d("Image", exifInterface.getAttribute(ExifInterface.TAG_IMAGE_DESCRIPTION)); 

これでしょう出力:

-0.0 and latitude 53.38388888888889 
null 

なぜこのような場合でしょうか?画像の詳細をクリックすると、タイトルが「20171213 ...」であることがはっきりとわかります。

+0

タイトル: '' 20171213 'それは日付のように見えます。 'title'をどこで抽出しようとしていますか? – greenapps

+0

ファイルの名前を調べようとしているようですか? – greenapps

+0

@greenapps日付のように見えます。カメラの写真が保存されています。はい、ファイルの名前がこの場合のタイトルであると思いますが、詳細ウィンドウのタイトルが表示されますので、画像を開いて詳細をクリックしてください – Codenthusiastic

答えて

0

なぜこの場合ですか?

アプリが作成したものであれば、そのタグは記入されませんでした。

イメージの詳細をクリックすると、タイトルが「20171213 ...」であることがはっきりとわかります。

この質問はthis questionのフォローアップであると仮定すると、あなたはそのUriのコンテンツに関連した「表示名」を取得するためにDocumentFilegetName()を呼び出し、DocumentFileusing fromSingleUri()Uriをラップすることができます。

+0

ありがとうございましたあなたはどこにでもいます。今すぐ行ってみましょう – Codenthusiastic

+0

ありがとうございました。本当にうまくいきました。ドキュメンテーションを読んだ後、私は 'TAG_IMAGE_DESCRIPTION'属性を使ってイメージのタイトルeが画像のメタデータに存在していたためです。 – Codenthusiastic

+0

@Codenthusiastic:あなたは 'exiftool'などを使ってメタデータを調べましたか? – CommonsWare