如何解决RedCorners.ExifLibrary.ImageFile 和 ExifInterface GPS 数据始终为零
在 Android 9 上,RedCorners 和 ExifInterface 为所有图库图像和视频返回正确的 GPS 值。现在在 Android 11 设备上尝试我的应用程序,对于捕获的第一个视频,两个库都返回良好的 GPS 值,但随后我在新设备上更新了 Android 版本。对于所有视频和图像,从那一刻起,两个库总是返回 0 表示纬度、经度和高度。但是这些文件确实具有真正的 GPS 值:事实上,Google 相册在地理地图中正确显示了它们!如果我通过电子邮件分享 Google 相册中的图像并分析该文件,则它具有真正的 GPS 值。如果我通过电子邮件分享 Android Gallery 中的图像并分析该文件,它会将所有 GPS 值设置为零!我推断 Google 会访问隐藏在 Gallery 和其他应用程序中的敏感 GPS 数据。 我已阅读ExifInterface GPS not read on Android Q/10
-
我还不能评论 - 并尝试了建议的解决方案:我已将 ACCESS_MEDIA_LOCATION 放在清单中(是否需要额外的权限对话框?)并使用以下代码片段访问该文件:
Android.Net.Uri photoUri = Android.Net.Uri.Parse("file://" + filename); photoUri = MediaStore.SetRequireOriginal(photoUri); var context = Android.App.Application.Context; 使用 (var stream = context.ContentResolver.OpenInputStream(photoUri)) { 如果(流!= null) { ExifInterface exif = new ExifInterface(stream); ret = exif.GetLatLong(floats); 双 d = exif.GetAltitude(0.0); 流.关闭(); } }
但所有返回值都为零。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。