android - 地理编码在棒棒糖中返回空地址
问题描述
我在从纬度和经度获取位置地址时遇到问题,因为我正在使用地理编码器获取地址,它在 MarshMallow 及以上 5 台设备中运行良好,但在版本 5(棒棒糖)中无法运行,我想运行我在版本 5 中的代码也是。任何帮助表示赞赏并提前感谢
这是我的代码
if (this.geocoder == null) {
this.geocoder = new Geocoder(this, Locale.getDefault());
}
try {
List<Address> addresses = geocoder.getFromLocation(Double.parseDouble(lat), Double.parseDouble(lng), 1);
if (!addresses.isEmpty()) {
address = addresses.get(0).getLocality();
PrefsManager.with(this).save(Constants.PREF_ADDRESS,addresses.get(0).getLocality());
return addresses.get(0).getLocality();
}
} catch (IOException e) {
e.printStackTrace();
}
解决方案
我已经在 android 5.1 版中使用虚拟 lat 和 lng 测试了您的代码。它工作正常。
这是我对您的建议,请使用断点调试您的代码。检查是地理编码问题还是其他问题。请检查您是否在权限检查块中获取 MarshMallow 版本的位置,而不是进入适用于棒棒糖和其他较低版本的其他部分。
推荐阅读
- javascript - 比较文本并突出显示 react-native 中的差异
- amazon-web-services - Amazon S3 存储桶 - 此 XML 文件似乎没有任何关联的样式信息
- woocommerce - 将成人控件添加到 woocommerce 中的生日字段
- highcharts - 在 Highcharts Stacked Area 图表中,有没有办法突出显示悬停的区域,而不是属于最近点的区域?
- objective-c - iOS-如何在WKWebview中设置多个cookies
- python - Django 预取嵌套的 FK 不起作用
- c# - 将数字自动转换为布尔值 - 从 Newtonsoft 迁移到 System.Text.Json
- swift - 如何修复“Int”不能转换为“Class”
- java - 在 Xubuntu 上安装 Android Studio 北极狐时打开 JDK 错误?
- sql - 按 ID 在最近日期加入 Spark SQL