Ladestationserkennung

Mithilfe des DeviceCapability.TYPE_CRADLE-Funktionstyps, der zur Gerätefunktions-API gehört, können Sie erkennen, ob ein BlackBerry-Gerät mit einer Ladestation (wie z. B. einer Ladestation für Freisprechanlagen) verbunden ist.

Sie können DeviceCapability.isAvailable() und DeviceCapability.isSupported() verwenden, um den Ladestationsstatus zu erkennen. Geräte, auf denenBlackBerry Device Software 6.0 ausgeführt wird, geben true für isSupported(DeviceCapability.TYPE_CRADLE) zurück. Wenn ein Gerät, auf dem BlackBerry Device Software 6.0 ausgeführt wird, mit einer Ladestation verbunden ist, gibt isAvailable(DeviceCapability.TYPE_CRADLE) true zurück.

Wenn Sie eine Verbindung zu einer Ladestation erkennen, können Sie mithilfe der CradleProtocol-Klasse den Typ und die Eigenschaften der Ladestation erkennen. CradleProtocol ist im Lieferumfang des net.rim.device.api.accessory-Pakets enthalten. Die Klasse stellt Felder für den Typ der Ladestation (wie z. B. Freisprechanlage-Ladestation, Holster oder Ladeschale) und die Eigenschaften der Ladestation bereit (z. B. ob eine Ladestation Anzeigen oder Schaltflächen hat, die programmgesteuert geändert werden können).

CradleProtocol.getCradleType() gibt den Typ der Ladestation zurück. Dieser wird von Ladestation selbst bereitstellt. Eine Ladestation stellt u. U. nicht den genauen Typ bereit. Zum Beispiel kann eine Ladestation für Freisprechanlagen CradleProtocol.TYPE_SIMPLE statt CradleProtocol.TYPE_CAR_KIT zurückgeben.

Codebeispiel: Erkennen, ob ein Gerät an eine Ladestation abgeschlossen ist

Das folgende Codebeispiel testet, ob das Gerät an eine Ladestation angeschlossen ist. Ist dies der Fall, wird die Art der Ladestation angezeigt.

import net.rim.device.api.accessory.CradleProtocol;
import net.rim.device.api.system.capability.DeviceCapability;
import net.rim.device.api.ui.component.RichTextField;
import net.rim.device.api.ui.container.MainScreen;
class CradleDemoScreen extends MainScreen 
{
    public CradleDemoScreen()
    {   
        setTitle("Cradle Demo");
        RichTextField statusField = new RichTextField();
        add(statusField);
        boolean isConnected = 
            DeviceCapability.isAvailable(DeviceCapability.TYPE_CRADLE);
        if (isConnected)
        {
            CradleProtocol myCradle = CradleProtocol.getInstance();
            int cradleType = myCradle.getCradleType();
            switch (cradleType)
            {
                case CradleProtocol.TYPE_CAR_KIT:
                    statusField.setText("Device is connected to a car kit cradle.");
                    break;
                case CradleProtocol.TYPE_AUDIO:
                    statusField.setText("Device is connected to an audio cradle.");
                    break;
                case CradleProtocol.TYPE_BEDSIDE:
                    statusField.setText("Device is connected to a charging pod cradle.");
                    break;
                case CradleProtocol.TYPE_CHARGER:
                    statusField.setText("Device is connected to a charger cradle.");
                    break;
                case CradleProtocol.TYPE_DESKTOP:
                    statusField.setText("Device is connected to a desktop cradle.");
                    break;
                case CradleProtocol.TYPE_HOLSTER:
                    statusField.setText("Device is connected to a holster cradle.");
                    break;
                case CradleProtocol.TYPE_MULTIMEDIA:
                    statusField.setText("Device is connected to a multimedia cradle.");
                    break;
                case CradleProtocol.TYPE_SIMPLE:
                    statusField.setText("Device is connected to a simple cradle.");
                    break;
                default:
                    statusField.setText("Can't determine type of cradle.");
            }
        }
        else
        {
            statusField.setText("Device is not connected.");
        }
    }            
}

Ladestationshandling

Sie können Ihre Anwendung als Ladestationshandler registrieren. Ein Ladestationshandler ist eine Anwendung, die gestartet wird, wenn ein BlackBerry-Gerät an Ladestation eines festgelegten Typs angeschlossen wird. Wenn Ihre Anwendung z. B. lokale Reiseinformationen bereitstellt, möchten Sie sie u. U. als Handler für eine Freisprechanlage-Ladestation registrieren, damit sie automatisch gestartet wird, wenn das Gerät an eine Freisprechanlage-Ladestation angeschlossen wird.

Verwenden Sie CradleHandlerRegistry.registerHandler(), um Ihre Anwendung als Ladestationshandler zu registrieren. Die CradleHandlerRegistry-Klasse gehört zum Lieferumfang des net.rim.blackberry.api.cradle-Pakets. Wenn Sie Ihre Anwendung registrieren, legen Sie die Art der Ladestation fest, die Sie und Ihr Anwendungsdeskriptor handhaben möchten. Ladestationstypen sind als Felder in der zum Lieferumfang des net.rim.device.api.accessory-Pakets gehörenden CradleProtocol-Klasse definiert.

Die Registrierung als Ladestationshandler ist dauerhaft. Sie müssen Ihre Anwendung nur einmal registrieren, nachdem sie auf dem Gerät installiert wurde.

Wenn Handler für einen Ladestationstyp registriert sind, wird dem Benutzer ein Dialogfeld anzeigt, wenn das Gerät an diese Art von Ladestation angeschlossen wird.

Dieses Diagramm zeigt ein Beispiel-Dialogfeld.

Der Benutzer kann den Handler auswählen, und die ausgewählte Handleranwendung wird gestartet. Der Benutzer kann auch angeben, dass die ausgewählte Handleranwendung automatisch gestartet wird, wenn das Gerät das nächste Mal an Ladestation des festgelegten Typs angeschlossen wird.

Der Benutzer kann die Ladestationshandler-Einstellungen durch Klicken auf "Optionen" > "Drittanbieteranwendungen" auf der Startseite ändern.

Codebeispiel: Registrieren eines Ladestationshandlers

Das folgende Codebeispiel registriert die aktuelle Anwendung als Handler für Freisprechanlage-Ladestationen.

CradleHandlerRegistry.registerHandler(
   CradleProtocol.TYPE_CAR_KIT, 
   ApplicationDescriptor.currentApplicationDescriptor());
Vorheriges Thema: Gerätfunktions-API

Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.