我在做一个GPS定位程序,只需要获取当前的经纬度即可。
我通过LocationListener接口监听位置是否有变动。
然后通过public void onLocationChanged(Location location)方法获取地址信息:
lat = location.getLatitude();
lng = location.getLongitude();
但是当我把GPS关闭,并且打开基站定位的时候,这个方法依然会被调用到,并且返回的是基站的经纬度(通过LAC和CellID到google的接口获取)。
请问在程序中如何判断这个数据是GPS获取的经纬度还是基站信息转的经纬度。
我通过LocationListener接口监听位置是否有变动。
然后通过public void onLocationChanged(Location location)方法获取地址信息:
lat = location.getLatitude();
lng = location.getLongitude();
但是当我把GPS关闭,并且打开基站定位的时候,这个方法依然会被调用到,并且返回的是基站的经纬度(通过LAC和CellID到google的接口获取)。
请问在程序中如何判断这个数据是GPS获取的经纬度还是基站信息转的经纬度。
public static final String GPS_PROVIDER = "gps";调用下面接口传true就可以。 /**
* Returns a list of the names of location providers. Only providers that
* are permitted to be accessed by the calling activity will be returned.
*
* @param enabledOnly if true then only the providers which are currently
* enabled are returned.
* @return list of Strings containing names of the providers
*/
public List<String> getProviders(boolean enabledOnly) {
try {
return mService.getProviders(enabledOnly);
} catch (RemoteException ex) {
Log.e(TAG, "getProviders: RemoteException", ex);
}
return null;
}
你这段代码是你某个程序的一部分?mService是什么?返回什么?
GPS_EVENT_STOPPED
GPS_EVENT_FIRST_FIX
GPS_EVENT_SATELLITE_STATUS