Benachrichtigen einer Anwendung über Änderungen an einer Kontaktliste
Sie können Ihre Anwendung dafür registrieren, Benachrichtigungen über Änderungen an den Kontaktlisten auf einem BlackBerry-Gerät zu erhalten, indem Sie die PIMListListener-Schnittstelle implementieren. Die PIMListListener-Schnittstelle stellt die folgenden Methoden bereit:
- itemAdded(PIMItem item) wird aufgerufen, wenn ein Element zu einer Kontaktliste hinzugefügt wird
- itemUpdated(PIMItem oldItem, PIMItem newItem) wird aufgerufen, wenn sich ein Element ändert
- itemRemoved(PIMItem item) wird aufgerufen, wenn ein Element aus einer Kontaktliste gelöscht wird
- Importieren Sie die erforderlichen Klassen und Schnittstellen.
import net.rim.blackberry.api.pdap.BlackBerrryContact;
import net.rim.blackberry.api.pdap.BlackBerryContactList;
import net.rim.blackberry.api.pdap.BlackBerryPIMList;
import net.rim.blackberry.api.pdap.PIMListListener;
import net.rim.device.api.system.ControlledAccessException;
import javax.microedition.pim.PIMList;
import javax.microedition.pim.PIMException;
- Um Änderungsbenachrichtigungen für die Standardkontaktliste zu erhalten, rufen Sie PIM.openPIMList(int, int) auf, um die Instanz der Standardkontaktliste zu öffnen, wobei Sie als Parameter die Art der zu öffnenden Liste (PIM.CONTACT_LIST) sowie den Zugriffsmodus, mit dem die Liste geöffnet werden soll (PIM.READ_WRITE, PIM.READ_ONLY oder PIM.WRITE_ONLY), übergeben. Fahren Sie mit Schritt 4 fort.
BlackBerryContactList contactList = (BlackBerryContactList)
PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE);
- Um Änderungsbenachrichtigungen für eine Kontaktliste zu empfangen, die nicht die Standardkontaktliste ist, führen Sie die folgenden Aktionen aus:
- Rufen Sie listPIMLists(int) auf, wobei Sie als Parameter die Art der zu öffnenden Liste (PIM.CONTACT_LIST) übergeben, um ein Array von String-Objekten zurückzugeben. Das zurückgegebene Array stellt den vom System zugewiesenen Namen für jede Kontaktliste bereit. Die Standardkontaktliste wird bei Index 0 des Arrays zurückgegeben.
String[] lists = PIM.listPIMLists(PIM.CONTACT_LIST);
- Führen Sie eine Iteration durch das Array durch, das PIM.listPIMLists() zurückgibt, um den vom System zugewiesenen Namen für die Kontaktliste zu suchen, für die Sie Änderungsbenachrichtigungen erhalten möchten.
- Rufen Sie PIM.openPIMList(int, int, String) auf, um die Instanz der Kontaktliste zu öffnen, wobei Sie als Parameter die Art der zu öffnenden Liste (PIM.CONTACT_LIST), den Zugriffsmodus, mit dem die Liste geöffnet werden soll (PIM.READ_WRITE, PIM.READ_ONLY oder PIM.WRITE_ONLY), sowie den Namen der Kontaktliste übergeben.
BlackBerryContactList contactList = (BlackBerryContactList)
PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE, name);
- Rufen Sie BlackBerryPIMList.addListener() auf, um einen Listener für die Kontaktliste zu registrieren.
(BlackBerryPIMList) contactList.addListener(new PIMListListener());
- Überschreiben Sie die Methoden PIMListListener.itemAdded(), PIMListListener.itemUpdated() und PIMListListener.itemRemoved(), um das Benachrichtigungsverhalten zu konfigurieren.
public void itemAdded(PIMItem item)
{
System.out.println("ITEM ADDED: " +
(BlackBerryContact) item.getString(BlackBerryContact.UID, 0));
}
public void itemUpdated(PIMItem oldItem, PIMItem newItem)
{
System.out.println("ITEM UPDATED: " + (BlackBerryContact)
oldItem.getString(BlackBerryContact.UID, 0) + " to " +
(BlackBerryContact) newItem.getString(Contact.UID, 0));
}
public void itemRemoved(PIMItem item)
{
System.out.println("ITEM REMOVED: " +
(BlackBerryContact) item.getString(BlackBerryContact.UID, 0));
}
- Prüfen Sie auf PIMException und auf ControlledAccessException, wenn Ihre Anwendung nicht die Berechtigung besitzt, auf die Anwendung zuzugreifen, die sie aufruft.
Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.