【发布时间】:2011-06-13 06:16:13
【问题描述】:
应用程序使用Geocoder 对象。它在我的股票 Froyo Nexus One 上运行良好。但后来我在不同的设备上运行完全相同的应用程序(Advent Vega 10" 平板电脑也运行 Froyo),我得到了这个异常:服务不可用。我使用的方法是getFromLocationName() ,我正在针对 Android 1.6 Google API 构建。
我知道在模拟器上引发此异常的问题,但我怀疑这是不同的。为什么会在一台运行 Froyo 的设备上而不是另一台设备上?
该应用是定位应用,由于平板没有GPS或移动网络,在Wi-Fi连接不提供位置的场景下,用户必须手动指定,因此无法使用Geocoder 对象是个坏消息。
我可以为用户添加一种在地图上选择位置的方法,但这并不理想。可能我可以直接使用 Google Maps API,但我很想先了解问题的性质,如果有一个更简单的解决方案会很好。
希望在未来的版本中,Android 将为非地理编码器设备提供操作系统级别的“默认位置”,因此位置感知应用可以在 Google TV 等设备上开箱即用。
【问题讨论】:
-
我在文档中看到它说“Geocoder 类需要一个未包含在核心 android 框架中的后端服务”,但为什么设备供应商不包含它?搞错了?
-
Geocoder 后端是否被视为经 Google 批准的 Android 发行版的一部分?该平板电脑未经 Google 认证,因此默认情况下没有 Google Android 应用程序(GMail、Market 等)。我怀疑这就是原因。看起来这些类型的设备上的人可能不得不从地图上选择位置,或者我可以直接使用该 Maps API。排除它似乎很奇怪,很想知道为什么它不存在。