Geocoder grpc failed

2022-09-03 02:57:39

上个月,geocoder每次都开始失败,出现“grpc失败”错误,我似乎无法解决它。我看过java.io.IOException:grpc失败了,但它并没有真正解决问题。

对于检查代码

Geocoder geocoder = new Geocoder(context, Locale.getDefault());
addresses = geocoder.getFromLocation(lat, lng, 1); // Here if fails with "grpc failed"

多年来,我一直使用相同的代码,但最近当我重新编译应用程序并在模拟器或真实设备上进行测试时,它已停止工作。

如果我针对 SDK 25 进行编译,则使用构建工具 25,它可以在具有 SDK 25 的模拟器上运行。但是,如果我尝试使用SDK 24,26或任何其他SDK版本的模拟器,它将失败并显示“grpc失败”。我试图创建一个新的虚拟设备等,但同样的问题。

我不知道如何解决它以及问题是什么。

当前设置:targetSDK/compileSDK 25,构建工具25.0.3,Android Studio 2.3.3,常规模拟器。(我已经尝试了其他构建工具和SDK版本,但问题仍然存在)

有什么想法吗?


答案 1

问题可能是您尝试在主线程中使用 Geocoder,如果您使用的是 IntentService,则可以在另一个进程中创建此 URL 选项,尽管您始终可以使用 Asynctask 或类似选项。


答案 2

好吧,这可能为时已晚,对于寻找答案的其他人来说,在我的情况下,这是互联网问题。我的互联网连接很差


推荐