我想通过单击按钮找到用户。所以我用这个代码:Android请求位置更新没有正确调用
lm = getSystemService(LocationManager.class);
provider = LocationManager.GPS_PROVIDER;
listener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
Log.e("UPDATE","UPDATING LOCATION");
}
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
}
@Override
public void onProviderEnabled(String s) {
}
@Override
public void onProviderDisabled(String s) {
}
};
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);
的requestLocationUpdates方法被调用,但onLocationChanged方法只叫了几声。 GPS被激活并且授权被允许。
你知道为什么onLocationChanged不总是被调用吗?我还检查了getLastKnownLocation,它在调用requestLocationUpdates之后有时是错误的。
检查它在这里说什么,看看它是否有帮助:https://stackoverflow.com/a/8600896/3965050 –
我试图注册侦听器内requestLocationUpdates。现在它永远不会被调用。 LocationManager也被选中(不为空)。 – JavaForAndroid
不,但我的意思是这部分:onLocationChanged()将在当前位置更新与最后一个已知位置不匹配时被调用。 –