The Location API was developed under the Java Community Process as JSR 179, released in September 2003 and updated to version 1.0.1 in March 2006.
Generic interfaces lets application developers implement systems that can retrieve location data from multiple sources, based on their availability on the device.
It has advantages over a single means of tracking, including fail-over, indoor/outdoor transparency, and a choice between the speed and accuracy trade-offs between GPS, cellular, or other positioning methods.
OpenLAPI supports several back-ends: along with device specific wrappers.
Since many providers choose not to implement this optional JSR, the goal of universality has still not happened and developers are often required to create custom builds for different devices.