私はandroid.media.ExifInterfaceライブラリを使用してジオタグ付き画像から経度と緯度の値を取得しようとしています。ただし、getLatLongは、イメージにジオタグが付いていても、常にfalseを返します。これは私のコードです:getLatLongは常にfalseを返します
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button galleryButton = (Button) findViewById(R.id.galleryButton);
galleryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent pickPhoto = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(pickPhoto , 1);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch(requestCode) {
case 0:
if(resultCode == RESULT_OK){
Uri selectedImage = imageReturnedIntent.getData();
ExifInterface exif = new ExInterface(selectedImage.getPath());
float[] latlong = null;
bool result = exif.getLatLong(latlong);
}
break;
}
}
あなたが見ることができるように、私は返さURIからのパスでEXIFオブジェクトを初期化することだし、それは「/外部/画像/メディア/ 2330」のようなパスが含まれています。 getLatLongを呼び出すと、常にfalseが返されます。私もthis pageから例を試しましたが、それでも動作しません。どんな助けもありがとう。
ギャラクシーS6エッジ のAndroid SDKのバージョン25
ありがとうございます!それは完全に動作します! – user30646