Suppose the device support both gps and glonass(support at the hardware level).
Now when I get location by the android.location API, is it possible to know the hardw
The hardware the location came from is the GPS/GLONASS chip in your phone. The chip receives signals from satellites orbiting the earth.
GPS and GLONASS satellites are used in combination on devices that support this. To determine if GLONASS satellites were used to determine the location, you can either register a GpsStatusListener or call LocationManager.getGpsStatus(). Call getSatellites() on the GpsStatus object and call getPrn() on each GpsSatellite object in the returned list. If the value is between 65 and 88 and the usedInFix() method returns true the last position was calculated using a GLONASS satellite.
See http://developer.sonymobile.com/knowledge-base/technologies/glonass/