Gps On App仅在使用Google地图后有效

时间:2012-09-28 19:50:25

标签: android google-maps gps

我们有这个使用maps api的Android应用程序。现在当我们运行它时,它通常不起作用,当我们调用

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
100, 0, this, null);

它确实不起作用,从不调用LocationListener的onLocationChanged方法。但是,如果我们运行Google地图并等到状态栏中的gps图标处于开启状态,那么我们的应用就会开始调用onLocationChanged。所以我的问题是,谷歌地图如何“激活”gps,或者如果它们没有激活它们,它们在做什么?

2 个答案:

答案 0 :(得分:2)

您需要先打开GPS:

try {
  Settings.Secure.setLocationProviderEnabled(getContentResolver(), LocationManager.GPS_PROVIDER, true);
} catch (Exception e) {
  logger.log(Log.ERROR, e, e.getMessage());
}

要做到这一点,你还需要得到最终用户的许可我相信。

答案 1 :(得分:0)

试试这个: - 当我们提供locationlitener时,我们必须使用locationManager.onLocationChanged方法注册位置监听器

 locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
 100, 0, this, locationlistener);