Location API for Java ME

This specification will define an Optional Package that will enable developers to write mobile location-based applications for resource limited devices. The purpose is to provide a compact and generic API that produces information about the device's present physical location to Java applications. The Java ME Location API is designed as an Optional Package that can be used with many Java ME profiles. The minimum platform assumed is the Java ME Connected, Limited Device Configuration (CLDC) v1.1. The target is low memory devices, so the initial recommendation for the footprint of the implementation of this API is:
 * ROM budget max. 20 kB
 * RAM budget max. 2 kB

It extends the capabilities of the Java Platform, Micro Edition, a version of the Java platform tailored for embedded devices such as mobile phones and PDAs. The object-oriented interface consists of 13 classes in the javax.microedition.location package. The Location API was developed under the Java Community Process as JSR 179 released September 2003 and updated to version 1.0.1 March 2006. Nokia is the main author and maintainer of this JSR. OpenLAPI is an LGPL implementation (not-officially since it hasn't passed SUN TCK), for use in emulator environments where the Nokia reference implementation does not exist and for devices which can access a GPS device over Bluetooth.

Device independence
Previously, location service implementations were provider specific. The aim of this API was to provide a common API for retrieving the location information on a variety of devices.

OpenLAPI supports several back-ends. Supported modes are: along with device specific wrappers.
 * GPS over Bluetooth
 * NMEA logfile (for development)
 * KML (Keyhole Markup Language) (for development)
 * random entry from a persistent landmark store (for development)

Current state
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.