Android中判断是否支持GPS定位

代码与范例:

public boolean hasGPSDevice(Context context)
{
	final LocationManager mgr = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
	if ( mgr == null ) 
		return false;
	final List providers = mgr.getAllProviders();
	if ( providers == null ) 
		return false;
	return providers.contains(LocationManager.GPS_PROVIDER);
}

说明:通常Android设备有三种方式取得地理信息,GPS、移动网络和WiFi。GPS的表示名为”gps”,而移动网络和WiFi的表示名为”network”,它们统称为”provider”。因此,GPS_PROVIDER指的是GPS定位,而NETWORK_PROVIDER就是指后两种定位方式。