永远不会调用 OnLocationChanged
OnLocationChanged is never called
我提供服务以获取位置更改。但即使我请求 LocationUpdates,也永远不会调用 onLocationChanges(Location loc)。
public class LocationService extends Service implements LocationListener{
...
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
public boolean startGPS(){
Log.d("Debug","startGPS");
if(gpsRunning){
return false;
}
locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,0, this);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0,this);
Log.d("Debug","is GPS provider Enabled: "+locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER));
gpsRunning=true;
return true;
}
public boolean stopGPS(){
Log.d("Debug","stopGPS");
if(!gpsRunning){
return false;
}
locationManager.removeUpdates(this);
gpsRunning=false;
return true;
}
@Override
public void onLocationChanged(Location location) {
Log.d("Debug","onLocationChanged");
}
}
这是我的日志。你可以看到我等了 32 秒,什么也没发生。
02-22 20:38:59.565: D/Debug(26614): startGPS
02-22 20:38:59.590: D/Debug(26614): is GPS provider Enabled: true
02-22 20:39:31.937: D/Debug(26614): stopGPS
我在系统托盘中有一个图标,表明它正在尝试获取 GPS 位置。
我发现了一个问题。我的 phone 中的 GPS 不工作。如果我只使用网络提供商,它就可以工作。其他 GPS 应用程序也无法从 gps 获取任何位置。
我提供服务以获取位置更改。但即使我请求 LocationUpdates,也永远不会调用 onLocationChanges(Location loc)。
public class LocationService extends Service implements LocationListener{
...
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
public boolean startGPS(){
Log.d("Debug","startGPS");
if(gpsRunning){
return false;
}
locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,0, this);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0,this);
Log.d("Debug","is GPS provider Enabled: "+locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER));
gpsRunning=true;
return true;
}
public boolean stopGPS(){
Log.d("Debug","stopGPS");
if(!gpsRunning){
return false;
}
locationManager.removeUpdates(this);
gpsRunning=false;
return true;
}
@Override
public void onLocationChanged(Location location) {
Log.d("Debug","onLocationChanged");
}
}
这是我的日志。你可以看到我等了 32 秒,什么也没发生。
02-22 20:38:59.565: D/Debug(26614): startGPS
02-22 20:38:59.590: D/Debug(26614): is GPS provider Enabled: true
02-22 20:39:31.937: D/Debug(26614): stopGPS
我在系统托盘中有一个图标,表明它正在尝试获取 GPS 位置。
我发现了一个问题。我的 phone 中的 GPS 不工作。如果我只使用网络提供商,它就可以工作。其他 GPS 应用程序也无法从 gps 获取任何位置。