Empfangen von Näherungsalarmen mit Geofencing
Sie können die net.rim.device.api.location.Geofence-Klasse verwenden, um einen Umkreis um ein Gebiet zu definieren, den Ihre Anwendung überwachen soll. Ihre Anwendung empfängt einen Alarm, wenn ein BlackBerry-Gerätebenutzer ein Geofencing-Gebiet betritt oder verlässt. Mithilfe von Geofencing können Sie Ihre Benutzer warnen, wenn sie ein Gebiet von Interesse betreten, oder Sie können ihnen Informationen senden, die für ihren Standort spezifisch sind.
Wenn eine Anwendung die Geofence.monitorPerimeter()-Methode aufruft, sendet der Geofencing-Server Näherungsalarme an die Anwendung, sobald das Gerät das Geofencing-Gebiet betritt oder verlässt. Jedes Geofence-Objekt kann bis zu 20 Gebiete gleichzeitig überwachen.
Definieren eines zu überwachenden Gebiets
// 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);
Abfragen von Geofencing-Ereignissen
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
}
}
Wenn errorOccured() aufgrund eines niedrigen Akkustands aufgerufen wird oder die Dienste für die Standortbestimmung nicht verfügbar sind (OUT_OF_SERVICE-Fehler), erhält die Anwendung keine Benachrichtigungen mehr.
Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.