0

在 Android 9 上,RedCorners 和 ExifInterface 为所有图库图像和视频返回正确的 GPS 值。现在在 Android 11 设备上尝试我的应用程序,对于捕获的第一个视频,两个库都返回了良好的 GPS 值,但随后我在新设备上更新了 Android 版本。从所有视频和图像的那一刻起,两个库始终返回 0 表示纬度、经度和高度。但这些文件确实有真正的 GPS 值:事实上,谷歌照片在地理地图中正确显示它们!如果我通过电子邮件分享来自 Google 照片的图像并分析该文件,则它具有真正的 GPS 值。如果我通过电子邮件从 Android Gallery 共享图像并分析该文件,它将所有 GPS 值设置为零!我推断谷歌访问了隐藏在图库和其他应用程序中的敏感 GPS 数据。我读过了在 Android Q/10 上无法读取 ExifInterface GPS

  • 我还不能评论 - 并尝试了建议的解决方案:我已将 ACCESS_MEDIA_LOCATION 放入清单中(是否需要额外的权限对话框?)并使用以下代码片段访问文件:

    Android.Net.Uri photoUri = Android.Net.Uri.Parse("file://" + 文件名); photoUri = MediaStore.SetRequireOriginal(photoUri); 变量上下文 = Android.App.Application.Context; 使用 (var stream = context.ContentResolver.OpenInputStream(photoUri)) { if (stream != null) { ExifInterface exif = new ExifInterface(stream); ret = exif.GetLatLong(floats); 双 d = exif.GetAltitude(0.0); 流。关闭();} }

但所有返回值都为零。

4

0 回答 0