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.
- 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.*;
- 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)
{
}
}
- 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);
}
}
- 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.