我正在使用Google API检索当前位置,并按设置PRIORITY_HIGH_ACCURACY
获取当前位置。
在我的应用中,我想知道我的位置来自GPS或WIFI。我该如何检查?
我用location.getProvider()
。但是,我只是“融合”了。
有没有办法检查或我必须使用getAccuracy
?
答案 0 :(得分:1)
您可以通过这种方式确定位置来源
public class MyFragment extends Fragment {
...
...
private void requestLocationUpdates() {
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000, 10, networkLocationListener);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 10, gpsLocationListener);
}
//Network
private LocationListener networkLocationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
//Location set by network
}
@Override
public void onStatusChanged(String s, int status, Bundle bundle) {
}
@Override
public void onProviderEnabled(String s) {
}
@Override
public void onProviderDisabled(String s) {
}
};
//GPS
private LocationListener gpsLocationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
//Location set by gps
}
@Override
public void onStatusChanged(String s, int status, Bundle bundle) {
}
@Override
public void onProviderEnabled(String s) {
}
@Override
public void onProviderDisabled(String s) {
}
};
}