该应用程序使用Geocoder对象。我的股票Froyo Nexus One可以正常工作。但是然后我在不同的设备上运行了完全相同的应用程序(也运行Froyo的Advent Vega 10“平板电脑),但出现以下异常:服务不可用。我使用的方法是getFromLocationName(),我正在针对Android 1.6进行构建Google API。

我知道在模拟器上引发此异常的问题,但是我怀疑这是不同的。为什么将其扔到运行Froyo的一台设备上而不扔到另一台设备上?

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

我可以为用户添加一种在 map 上选择位置的方法,但这并不理想。可能我可以直接使用Google Maps API,但我很想先了解问题的性质,因为它很容易获得更简单的解决方案。

希望在将来的版本中,Android将为非Geocoder设备提供操作系统级别的“默认位置”,以便可在Google TV等设备上使用位置感知的应用程序。

最佳答案

我请Google的Reto Meier确认我的理论是正确的,他说:“正确。Geocoder是Google API附加组件的一部分,而不是AOSP的一部分。”

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

关于android - 为什么Android Geocoder会引发 “Service not Available”异常?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4761052/

10-12 02:43