Android 6.0 getFromLocationName没有结果

时间:2016-04-03 08:45:12

标签: android

我尝试从android.location.Geocode获取地址。以下是代码:

//授予我认为相关的任何许可

    ActivityCompat.requestPermissions(this,
            new String[]{Manifest.permission.ACCESS_FINE_LOCATION,
                    Manifest.permission.ACCESS_COARSE_LOCATION,
            Manifest.permission.ACCESS_WIFI_STATE,
            Manifest.permission.ACCESS_NETWORK_STATE,
            Manifest.permission.VIBRATE,
            Manifest.permission.INTERNET},100);

//请求地理编码服务。功能:提供addressStr的地址。预期输出:地址相关信息,例如纬度,经度

import android.location.Geocoder; ...

String addressStr = "#3140-4000 No.3 Rd, Richmond, BC Canada";
Geocoder coder = new Geocoder(mContext);
    List<Address> address;
    address = coder.getFromLocationName(addressStr, 1);
System.out.println(address.size()); 

//移动设备中的输出:0

结果:

  1. 在Android设备上运行 - address.size()始终为0(此处为问题!)
  2. 在Android模拟器上运行 - 结果正常
  3. coder.isPresent()在上述情况下总是返回true。

    因为同一段代码在模拟器中工作正常。当我第一次创建这个应用程序时,它在几天内工作了。我猜谷歌为模拟器提供免费服务,并为实际设备提供一定的免费配额。一旦免费配额用完,它就不再适用于实际设备。但仍然在模拟器中工作

    对我的猜测有何评论?

0 个答案:

没有答案