如何解决Android Java:地理编码器 grpc 失败异常
我将带您了解关键点,请耐心等待。
我在做什么
我是怎么做的 在位置更改功能中,我创建了一个新线程并创建了一个新地址列表,以便在 try catch 块中从地理编码器获取地址。
public void onLocationChanged(Location location) {
Log.d("onLocationChanged","Before if");
if (location != null){
Log.d("if location not null","start");
Geocoder geocoder = new Geocoder(getContext(),Locale.getDefault());
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
Log.d("TAG","onLocationChanged: Location : " +location);
List<Address> addresses = geocoder.getFromLocation(location.getLatitude(),location.getLongitude(),1);
Log.d("TAG","onLocationChanged address: "+addresses);
city = addresses.get(0).getLocality();
search(city);
return;
} catch (IOException e) {
progressDialog.dismiss();
Log.d("IOException","at geocoder " + e.getMessage());
//Toast.makeText(getContext(),"Slow Connection...Try Later.",Toast.LENGTH_LONG).show();
e.printstacktrace();
}
}
});
thread.start();
}
else {
progressBar.setVisibility(View.INVISIBLE);
Log.d("Location is null","else");
Toast.makeText(fl.getContext(),"Cannot Access Current Location...",Toast.LENGTH_LONG).show();
return;
}
}
发生了什么
根据日志,正在获取位置,但调用 geocoder.getFromLocation 函数时发生 grpc Failed 异常。
日志
D/onLocationChanged: Before if
D/if location not null: start
D/TAG: onLocationChanged: Location : Location[gps 33.565110,73.016913 hAcc=5 et=+18822d15h39m59s954ms etAcc=+1ms alt=0.0 vel=0.0 bear=0.0 vAcc=1 sAcc=1 bAcc=30 {Bundle[mParcelledData.dataSize=96]}]
D/IOException: at geocoder grpc Failed
W/System.err: java.io.IOException: grpc Failed
at android.location.Geocoder.getFromLocation(Geocoder.java:136)
at com.rehnsehan.rehnsehan.ExploreActivity$5.run(ExploreActivity.java:194)
at java.lang.Thread.run(Thread.java:923)
W/ManagedChannelImpl: [{0}] Failed to resolve name. status={1}
W/Firestore: (23.0.1) [WatchStream]: (51c23b2) Stream closed with status: Status{code=UNAVAILABLE,description=Unable to resolve host firestore.googleapis.com,cause=java.lang.RuntimeException: java.net.UnkNownHostException: Unable to resolve host "firestore.googleapis.com": No address associated with hostname
at io.grpc.internal.DnsNameResolver.resolveAll(DnsNameResolver.java:436)
at io.grpc.internal.DnsNameResolver$Resolve.resolveInternal(DnsNameResolver.java:272)
at io.grpc.internal.DnsNameResolver$Resolve.run(DnsNameResolver.java:228)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
注意:这个函数在上个月运行得很好,没有抛出任何异常。
谢谢,感谢任何建议或反馈。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。