我们有这个使用maps api的Android应用程序。现在当我们运行它时,它通常不起作用,当我们调用
时locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
100, 0, this, null);
它确实不起作用,从不调用LocationListener的onLocationChanged方法。但是,如果我们运行Google地图并等到状态栏中的gps图标处于开启状态,那么我们的应用就会开始调用onLocationChanged。所以我的问题是,谷歌地图如何“激活”gps,或者如果它们没有激活它们,它们在做什么?
答案 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);