相关疑难解决方法(0)

为什么Android 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等设备上开箱即用.

android google-geocoder

31
推荐指数
2
解决办法
2万
查看次数

Android的; 地理编码器,为什么我得到"服务不可用"?

我想在Android应用程序中使用Geocoder,我有以下代码来对其进行采样:

public class LocatorGeo extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);


        Geocoder geo = new Geocoder(getApplicationContext());

        List<Address> myAddrs = new ArrayList<Address>();

        try {
            myAddrs = geo.getFromLocationName("CO100AR", 1);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到以下堆栈跟踪:

09-01 15:52:38.809: WARN/System.err(334): java.io.IOException: Service not Available
09-01 15:52:38.819: WARN/System.err(334):     at android.location.Geocoder.getFromLocationName(Geocoder.java:159)
09-01 15:52:38.829: WARN/System.err(334):     at com.jameselsey.LocatorGeo.onCreate(LocatorGeo.java:25)
09-01 15:52:38.829: WARN/System.err(334):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-01 15:52:38.839: WARN/System.err(334): …
Run Code Online (Sandbox Code Playgroud)

android geocoding android-2.2-froyo

17
推荐指数
2
解决办法
2万
查看次数