Android 6.0 getFromLocationName无结果

Android 6.0 getFromLocationName无结果,android,Android,我尝试从android.location.Geocode获取地址。代码如下: //给予我认为相关的任何许可 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.

我尝试从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的地址。预期输出:地址相关信息,例如纬度、经度

导入android.location.Geocoder;

String addressStr=“#3140-4000加拿大不列颠哥伦比亚省里士满市第三路”;
地理编码器=新地理编码器(mContext);
名单地址;
address=coder.getFromLocationName(addressStr,1);
System.out.println(address.size());
//移动设备中的输出:0

结果:

  • 在Android设备上运行-address.size()始终为0(这里有问题!)
  • 在Android模拟器上运行-结果正常
  • 在上述情况下,coder.isPresent()始终返回true

    与在emulator中正常工作的同一段代码相同。当我第一次创建这个应用程序的时候,它在过去的几天里工作了。我猜谷歌为emulator提供免费服务,为实际设备提供一定的免费配额。一旦免费配额用完,它将无法在实际设备中工作。但仍然在emulator中工作


    对我的猜测有什么评论吗?

    我想看到更多的代码,还有Logcat tooth Logcat太大,无法在这里发布。我能告诉你什么吗?04-03 22:07:46.059 32063-32063/jianrongmo.com.comp3617.finalproject.savenet I/HwCust:android.widget.HwCustTextViewImpl 04-03 22:07:46.088 32063-32213/jianrongmo.com.comp3617.finalproject.savenet I/System:core\u,getBoosterConfig=false 04-03 22:07:46.543 32063-32225/jianrongmo.com.comp3617.finalproject.savenet I/System:core_booster,getBoosterConfig=false 04-03 22:07:47.520 32063-32240/jianrongmo.com.comp3617.finalproject.savenet I/System:core_booster增压器,getBoosterConfig=false 04-03 22:07:47.612 32063-OK我知道了。似乎是地理编码器的错误。您可以从以下内容查看:
    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());