为什么Geocoder.getFromLocationName(...)返回一个空列表?

uro*_*obo 2 android geolocation

我第一次使用android.location.Geocoder.想法是:我在按钮上有一个监听器,它从EditText获取输入并解析位置.到目前为止它是调试阶段,所以我没有处理程序从线程接收消息,只有地理编码和写入logcat.问:为什么这个方法总是返回一个空的Address对象列表?

private View.OnClickListener checkLocation = new View.OnClickListener() {       

    @Override
    public void onClick(View v) {
        location = ((EditText)findViewById(R.id.getLocation)).getText().toString();
        Thread thr = new Thread(){
            public void run (){
                Log.d("Looking for", location);
                Geocoder gc = new Geocoder(ctx,Locale.ITALY);
                try {
                    fa= gc.getFromLocationName(location, 3);
                    if (fa.isEmpty())Log.d("getFromLocationName", "NothingFound");
                    else
                    {
                        int size= fa.size();
                        for (int i = 0; i<size ;i++)
                            Log.d("getFromLocationName.at("+ String.valueOf(i) +")", fa.get(i).getAddressLine(0)+", "+fa.get(0).getAddressLine(1));
                    }
                } catch (IOException e) {
                    Log.e("IOException", e.getMessage());
                }

            }
        };
        thr.start();

    }
};
Run Code Online (Sandbox Code Playgroud)

表现:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)

有人知道为什么吗?(顺便说一句,我使用1.6 sdk)输入尝试

uro*_*obo 5

该项目没有针对正确的AVD.要使用地理定位,您必须指出实施Google API的avd.一旦我改变它一切都很好.很抱歉打扰