【发布时间】:2017-08-08 10:03:11
【问题描述】:
我正在尝试从相机中获取拍摄照片的位置。当我尝试 Exif 接口但仍然从照片返回 null 值时。请有人帮助...
Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, 100);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 100 && resultCode == RESULT_OK && data != null) {
// Let's read picked image data - its URI
Uri pickedImage = data.getData();
// Let's read picked image path using content resolver
String[] filePath = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(pickedImage, filePath, null, null, null);
cursor.moveToFirst();
img1 = cursor.getString(cursor.getColumnIndex(filePath[0]));
ExifInterface exif = null;
try {
exif = new ExifInterface(img1);
} catch (IOException e) {
e.printStackTrace();
}
String lat = ExifInterface.TAG_GPS_LATITUDE;
String lat_data = exif.getAttribute(lat);
Log.e("MYDATA", lat_data);
cursor.close();
Toast.makeText(this, "Image Uploaded", Toast.LENGTH_SHORT).show();
}
【问题讨论】:
-
分享你尝试过的代码
-
验证您的文件是否真的有位置数据,大多数时候安卓设备在相机应用中默认禁用该功能。
-
实际上我在安卓设备中启用了地理标记。
-
exif.getLatLong(latLong);为我工作,但现在已弃用。
标签: android image location photos