【问题标题】:Location issue in AndroidAndroid中的位置问题
【发布时间】:2013-04-03 18:03:49
【问题描述】:

我在使用位置 API 时遇到了一些问题。在某些设备中,有时它不会提供任何提供商的位置,但重启手机可以解决问题。另一方面,当无法获取位置时,Google 地图会立即将您放置在地图中,没有任何问题。

代码如下:

    Intent intent = new Intent(Constants.LOCATION_BROADCAST);
    pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, intent, 0);
    Criteria criteria = new Criteria();
    criteria.setPowerRequirement(Criteria.POWER_HIGH);
    if(android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.FROYO){
        criteria.setAccuracy(Criteria.ACCURACY_LOW);
        locationManager.requestSingleUpdate(locationManager.getBestProvider(criteria, true), pendingIntent);
    }
    else {
        criteria.setAccuracy(Criteria.ACCURACY_COARSE);
        locationManager.requestLocationUpdates(locationManager.getBestProvider(criteria, true), 0, 0, pendingIntent);
    }

有什么想法吗?

【问题讨论】:

    标签: android gps location location-provider


    【解决方案1】:

    尝试使用所有位置提供程序,看看它是否能解决您的问题,例如

    LocationManager lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
    List<String> allproviders = lm.getAllProviders();
    for(String provider : allproviders) {
        myLocationManager.requestLocationUpdates(provider, 5000, 0, this);
    }
    

    如果此代码始终有效,那么您只需要弄清楚为什么您的代码忽略了我的代码找到的提供程序。很容易与您的力量或准确性标准有关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-22
      • 1970-01-01
      • 1970-01-01
      • 2017-09-30
      相关资源
      最近更新 更多