4

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

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

它实际上不起作用,永远不会调用 LocationListener 的 onLocationChanged 方法。但是,如果我们运行 Google 地图并等到状态栏中的 gps 图标打开,那么我们的应用程序确实会开始调用 onLocationChanged。所以我的问题是,谷歌地图是如何“激活”全球定位系统的,或者如果他们没有激活它,他们在做什么?

4

2 回答 2

2

您需要先打开 GPS:

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

为此,我相信您还需要获得最终用户的许可。

于 2012-09-28T19:53:24.540 回答
0

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

 locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
 100, 0, this, locationlistener);
于 2012-09-28T19:53:49.863 回答