【发布时间】:2015-05-14 12:44:33
【问题描述】:
到目前为止,我一直在使用GoogleApiClient 获取当前位置,但我刚刚注意到使用LocationManager 使用LocationListener 执行此操作要简单得多,因为它甚至可以检测 GPS 服务何时打开或由用户关闭。
但是在初始化LocationManager 后获取用户的第一个位置时出现问题。
LocationManager 有 4 个听众,但他们都没有给你你的第一个位置。它确实有一个onLocationChanged 监听器,但它仅在您移动时才会激活。
这就是我的使用方式:
// Init LocationManager (needed to track if GPS is turned on or not
locationManager = (LocationManager) getApplicationContext().getSystemService(LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
end of oncreate......
/*
LocationListener (Listening if GPS service is turned on/off)
*/
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onLocationChanged(Location location) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderDisabled(String provider) {
}
【问题讨论】: