上个月 so geocoder 每次都开始失败,出现“grpc failed”错误,我似乎无法解决它。我看过 java.io.IOException: grpc failed但并没有真正解决问题。
例如代码
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 failed”。我尝试创建一个新的虚拟设备等。但同样的问题。
我不知道如何解决它以及问题是什么。
当前设置:targetSDK/compileSDK 25、构建工具 25.0.3、Android Studio 2.3.3、常规模拟器。 (试过其他构建工具和SDK版本,问题依旧)
有什么想法吗?
最佳答案
问题可能是您正尝试在主线程中使用 Geocoder,如果您使用的是 IntentService,则您有此 URL尽管您始终可以使用 Asynctask 或类似工具,但可以选择在另一个进程中创建。
关于java - 地理编码器 grpc 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45521579/