When LocationProvider
has been successfully created,
it can be used to register the MIDlet to listen for regular location updates
and to detect certain coordinate proximity. Current location update and location
provider state change events can be listened to through the LocationListener
interface
(see Code sample 3). Through this interface a JSR-179 application may track
a device's route.
Code sample 3: LocationListener interface's skeleton (TouristRoute's TouristData.java class)
public void locationUpdated(LocationProvider provider, final Location location)
public void providerStateChanged(LocationProvider provider, final int newState)
Note: The standard LocationListener
interface does not
set the location
or newState
parameters
as final. In the example, the final
keyword is used on
parameters to enable the anonymous thread implementation to access the reference.
In the TouristRoute example, both implemented methods start a new thread,
because LocationListener
methods should return quickly
without performing any extensive processing.
Through ProximityListener
, the interface MIDlet
obtains notifications when a registered coordinate is detected (see Code sample
4). Proximity event listening makes it possible to monitor when the device
arrives in a certain area, for example close to a hotel or restaurant.
Code sample 4: Proximity listener's skeleton (TouristRoute's TouristData class)
public void proximityEvent(Coordinates coordinates, Location location)
public void monitoringStateChanged(boolean isMonitoringActive)