为什么Android Geocoder会抛出"服务不可用"例外?

Oll*_*e C 31 android google-geocoder

该应用程序使用Geocoder对象.它在我的股票Froyo Nexus One上运行良好.但后来我在不同的设备上运行完全相同的应用程序(Advent Vega 10"平板电脑也运行Froyo),我得到了这个例外:服务不可用.我正在使用的方法是getFromLocationName(),我正在建立对抗Android 1.6 Google API.

我知道在模拟器上抛出此异常的问题,但我怀疑这是不同的.为什么会在运行Froyo的设备上抛出它而不是另一台设备呢?

该应用程序是一个位置应用程序,由于平板电脑没有GPS或移动网络,在Wi-Fi连接不提供位置的情况下,用户必须手动指定它,因此无法使用Geocoder对象是坏消息.

我可以为用户添加一种在地图上选择位置的方法,但这并不理想.可能我可以直接使用谷歌地图API,但我希望首先了解问题的本质,因为有一个更简单的解决方案会很好.

希望在未来版本中,Android将包含非Geocoder设备的操作系统级"默认位置",因此位置感知应用程序可在Google TV等设备上开箱即用.

Oll*_*e C 27

我要求谷歌的Reto Meier确认我的理论是正确的,他说"正确.地理编码器是Google API插件的一部分,不属于AOSP."

因此,任何不附带Play商店,GMail应用程序等的设备也将缺少Geocoder后端.

  • 好吧,我在之前的评论中弄错了,即使`Geocoder.isPresent()`在Kindle Fire上返回true,试图让`getFromLocationName()`调用仍然抛出一个`IOException:Service Not Available`猜测意味着没有后端.所以接缝`isPresent()`是没用的.我还针对"Google Addon API"而不是基本的Android SDK构建了我的项目,它没有任何区别.这让我非常想知道"我的第一个链接"中的"Google API插件还包括Geocoder后端服务实现". (5认同)

d60*_*402 13

对于此问题,似乎还有另一种可能的解决方法,不幸的是,这个问题被标记为重复的问题,因此可能会错过.从本质上讲,重启设备可以解决问题.注意我称之为"解决方法"而不是"解决方案".:(


归档时间:

查看次数:

22406 次

最近记录:

7 年,1 月 前