Recibir alertas de proximidad mediante límites geográficos
Puede utilizar la clase net.rim.device.api.location.Geofence para definir un perímetro alrededor de un área que desea que su aplicación supervise. Su aplicación recibe una alerta siempre que el usuario de un dispositivo BlackBerry entra en un área limitada geográficamente o la abandona. Mediante los límites geográficos, puede avisar a los usuarios cuando entren en un área de interés o enviarles información específica de su ubicación.
Cuando una aplicación invoque el método Geofence.monitorPerimeter(), el servidor de límite geográfico enviará alertas de proximidad a la aplicación siempre que el dispositivo entre en un área limitada geográficamente o la abandone. Cada uno de los objetos Geofence puede supervisar hasta 20 áreas simultáneamente.
Definir un área para supervisar
// Single Coordinates object, to be used along with a radius Coordinates coords = new Coordinates(43.2750, -80.3318, 0); // Array of three Coordinates objects, representing a three-sided polygon Coordinates[] coords2 = new Coordinates[3]; coords2[0] = new Coordinates(43.2851, -80.3229, 0); coords2[1] = new Coordinates(43.2945, -80.3220, 0); coords2[2] = new Coordinates(43.2852, -80.3199, 0);
GFListener gfListener = new GFListener(); Geofence geofence = new Geofence(); // Starts monitoring the area defined by the coordinate and a radius geofence.monitorPerimeter(gfListener, "RIM 12", coords, 500, 50, -1); // Starts monitoring the area defined by the set of coordinates geofence.monitorPerimeter(gfListener, "RIM campus", coords2, 50, -1);
Escuchar eventos de límite geográfico
private class GFListener implements GeofenceListener
{
public void perimeterEntered(String tag, BlackBerryLocation location)
{
// Code that runs when a user enters the perimeter
}
public void errorOccurred(int errorCode)
{
// Code that runs when an error occurs
}
public void perimeterExited(String tag, BlackBerryLocation location)
{
// Code that runs when a user leaves the perimeter
}
}
Si se invoca errorOccured() debido a un nivel bajo de la batería, o si los servicios de ubicación no están disponibles (error OUT_OF_SERVICE), la aplicación deja de recibir notificaciones.
¿Le ha resultado útil esta información? Envíenos sus comentarios.