package javax.microedition.location; /** * This interface represents a listener to events associated with detecting proximity to * some registered coordinates. Applications implement this interface and register it with * a static method in LocationProvider to obtain notifications when proximity to registered * coordinates is detected. * <p> * This listener is called when the terminal enters the proximity of the registered * coordinates. The proximity is defined as the proximity radius around the coordinates * combined with the horizontal accuracy of the current sampled location. * <p> * The listener is called only once when the terminal enters the proximity of the * registered coordinates. The registration with these coordinates is canceled when the * listener is called. If the application wants to be notified again about these * coordinates, it must re-register the coordinates and the listener. * @author BB */ public interface ProximityListener { /** * Called to notify that the state of the proximity monitoring has changed. These * state changes are delivered to the application as soon as possible after the state * of the monitoring changes. * <p> * Regardless of the state, the ProximityListener remains registered until the * application explicitly removes it with LocationProvider.removeProximityListener or * the application exits. * <p> * These state changes may be related to state changes of some location providers, but * this is implementation dependent as implementations can freely choose the method * used to implement this proximity monitoring. * * @param isMonitoringActive * a boolean indicating the new state of the proximity monitoring. true * indicates that the proximity monitoring is active and false indicates * that the proximity monitoring can't be done currently. */ public void monitoringStateChanged(boolean isMonitoringActive); /** * After registering this listener with the LocationProvider, this method will be * called by the platform when the implementation detects that the current location of * the terminal is within the defined proximity radius of the registered coordinates. * * @param coordinates * the registered coordinates to which proximity has been detected * @param location * the current location of the terminal monitoringStateChanged */ public void proximityEvent(Coordinates coordinates, Location location); }