Ontwikkelingshandleiding

Local Navigation

Reageren op wijzigingen van een contactpersoon in uw contactpersonenlijst

Vóór u begint: Zorg ervoor dat u de taak Uw toepassing registreren bij het BlackBerry Messenger-platform hebt uitgevoerd en dat de klasse die het scherm weergeeft een verwijzing doorgeeft naar het object BBMPlatformContext dat aan uw toepassing is gekoppeld.
  1. Importeer de noodzakelijke klassen en interfaces.
    import net.rim.blackberry.api.bbm.platform.*;
    import net.rim.blackberry.api.bbm.platform.service.*;
    import net.rim.device.api.ui.component.*;
  2. Maak een klasse die de PresenceListener- interface uitvoert en MainScreen uitvoert. Geef in de constructor voor deze schermklasse het aan de toepassing gekoppelde object BBMPlatformContext.
    public class MyBBMContactListScreen implements PresenceListener extends MainScreen
    {
        public MyBBMContactListScreen(BBMPlatformContext platformContext) 
        {
        }
    }
  3. Roep in de constructor BBMPlatformContext.getContactListService().setPresenceListener() aan om PresenceListener aan uw toepassing toe te wijzen.
    public class MyBBMContactListScreen implements PresenceListener
    {
        public MyBBMContactListScreen(BBMPlatformContext platformContext) 
        {
            platformContext.getContactListService().setPresenceListener(this);
        }
    }
  4. Implementeer in de klasse MyBBMContactListScreen de methode PresenceListener.presenceUpdated(). In de volgende code wordt een dialoogvenster weergegeven dat de gebruiker informeert over wijzigingen van een contactpersoon in uw BlackBerry® Messenger-contactpersonenlijst. In het volgende codevoorbeeld wordt een helpermethode, getEventName(), gebruikt om de parameter eventType te parseren en een leesbare String te retourneren.
    public void presenceUpdated(BBMPlatformContact contact, int eventType)
    {
        final String str = "[" + getEventName(eventType) + "] was changed by " + contact.getDisplayName();
        Dialog.inform(str);
    }
    private String getEventName(int eventType)
    {
        String eventName;
        switch(eventType)
        {
            case PresenceListener.EVENT_TYPE_DISPLAY_PICTURE:
                eventName = "Display picture";
                break;
            case PresenceListener.EVENT_TYPE_DISPLAY_NAME:
                eventName = "Display name";
                break;
            case PresenceListener.EVENT_TYPE_PERSONAL_MESSAGE:
                eventName = "Personal Message";
                break;
            case PresenceListener.EVENT_TYPE_STATUS:
                eventName = "Status";
                break;
            default:
                eventName = "Default";
        }
    }

Was deze informatie nuttig? Stuur ons uw opmerkingen.