0

我正在尝试检索使用ACTION_GET_CONTENT意图选择的视频的纬度/经度。我有以下代码:

int data_column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
int lat_column_index = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.LATITUDE);
int long_column_index = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.LONGITUDE);

我在 LATITUTDE/LONGITUDE 列上遇到了这个异常:

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=Intent { dat=content://media/external/video/media/1749 flg=0x1 }} to activity {}: java.lang.IllegalArgumentException: **column 'latitude' does not exist**

我希望从有检索视频/图像的纬度/经度经验的人那里得到任何反馈

4

1 回答 1

2

Android 使用类中调用的新常量 METADATA_KEY_LOCATIONMediaMetadataRetriever让应用程序访问图像和视频的位置信息。此处链接到文档

示例(未经测试但拼凑在一起):

 MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();  
 mediaMetadataRetriever.setDataSource(_currentVideoFile.getAbsolutePath());  
 String location = mediaMetadataRetriever  
                .extractMetadata(MediaMetadataRetriever.METADATA_KEY_LOCATION);

根据文档,这应该为您提供 lat/long 字符串,如此"-90.0000+180.0000"所述

希望有帮助。

于 2013-05-13T18:15:54.613 回答