GeoCoder服务不可用
我正在使用GeoCoder
获得一个AddressLocation
。不幸的是,该方法触发了一个IOException saying: "Service not Available"
。
这个StackOverFlow线程解释了正在发生的事情,因为我对它进行了彻底的测试(用户权限、构建版本、重新启动、GeoCoding API限制等等)。
您可以在其中找到的Google Play-Services
(或LocationService
):Android -> (Manage)应用程序->正在运行的进程已经崩溃或停止。它重新启动自己,但忘记将GeoCoderService绑定到NetworkLocator。
这个错误的“解决方案”是重新启动安卓手机,因为在重启时,GeoCoderService被绑定到NetworkLocater上。当然,我不认为这是一个解决办法。
发问
我的问题是,LocationService最初是如何崩溃或被阻止的?
我所做的是强制-停止谷歌游戏服务,一些设备重新启动LocationService,但有些没有。
不工作的(没有重新启动LocationService)
WORKING (确实重新启动了LocationService)
有没有人知道谷歌播放服务(LocationService)在运行一段时间后崩溃或停止运行的原因?
我已经把这个问题升级到了b.Android.com,并亲自联系了安卓开发人员。
我已经看到,我的问题已经在其他线程中讨论过,但没有得出任何结论:
发布于 2015-04-08 13:01:36
重新启动设备检查(我也面临同样的问题)。
发布于 2013-11-27 15:27:30
有些设备没有地理编码器的支持,所以您需要做的是创建自己的地理编码器。
基本上,您需要创建一个异步任务来请求google的地址并处理json响应。
使用查询时,我会做这样的事情:
public void asyncJson(String address){
address = address.replace(" ", "+");
String url = "http://maps.googleapis.com/maps/api/geocode/json?address="+ address +"&sensor=true";
aq.ajax(url, JSONObject.class, new AjaxCallback<JSONObject>() {
@Override
public void callback(String url, JSONObject json, AjaxStatus status) {
if(json != null){
//here you work with the response json
JSONArray results = json.getJSONArray("results");
Toast.makeText(context, results.getJSONObject(1).getString("formatted_address"));
}else{
//ajax error, show error code
Toast.makeText(aq.getContext(), "Error:" + status.getCode(), Toast.LENGTH_LONG).show();
}
}
});
}
发布于 2013-11-20 08:11:29
您可以将带有Android4.1.2的三星Galaxy添加到不工作的列表中。这是一个恼人的错误,解决方法是直接访问GMaps API。在我看来,当用户用内置任务管理器关闭所有应用程序以释放资源/内存时,就会发生这种情况。
https://stackoverflow.com/questions/18249094
复制相似问题