Prévenir une application lorsqu'une liste de contacts est modifiée

Vous pouvez enregistrer votre application à la réception de notification en cas de modification des listes de contacts d'un terminal BlackBerry en déployant l'interface PIMListListener. L'interface PIMListListener fournit les méthodes suivantes :

  • itemAdded(PIMItem item), appelée lorsqu'un élément est ajouté à une liste de contacts
  • itemUpdated(PIMItem oldItem, PIMItem newItem), appelée lorsqu'un élément est modifié
  • itemRemoved(PIMItem item), appelée lorsqu'un élément est supprimé d'une liste de contacts
  1. Importez les classes et les interfaces requises.
    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;
  2. Pour recevoir des notifications en cas de modification de la liste de contacts par défaut, appelez PIM.openPIMList(int, int) pour ouvrir l'instance de la liste de contacts par défaut, en transmettant comme paramètres le type de liste à ouvrir (PIM.CONTACT_LIST) et le mode d'ouverture de la liste (PIM.READ_WRITE, PIM.READ_ONLY ou PIM.WRITE_ONLY). Passez à l'étape 4.
    BlackBerryContactList contactList = (BlackBerryContactList) 
       PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE);
  3. Pour recevoir des notifications en cas de modification d'une liste de contacts qui n'est pas la liste de contacts par défaut, procédez comme suit :
    1. Appelez listPIMLists(int) en transmettant comme paramètre le type de liste à ouvrir (PIM.CONTACT_LIST), pour renvoyer un tableau d'objets String. Le tableau renvoyé fournit le nom attribué par le système à chaque liste de contacts. La liste de contacts par défaut est renvoyée à l'index 0 du tableau.
      String[] lists = PIM.listPIMLists(PIM.CONTACT_LIST);
    2. Itérez dans le tableau renvoyé par PIM.listPIMLists() pour rechercher le nom attribué par le système à la liste de contacts pour laquelle vous souhaitez recevoir des notifications en cas de modification.
    3. Appelez PIM.openPIMList(int, int, String) pour ouvrir la liste de contacts, en transmettant comme paramètres le type de liste à ouvrir (PIM.CONTACT_LIST), le mode d'ouverture de la liste (PIM.READ_WRITE, PIM.READ_ONLY ou PIM.WRITE_ONLY) et le nom de la liste de contacts.
      BlackBerryContactList contactList = (BlackBerryContactList) 
         PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE, name);
  4. Appelez BlackBerryPIMList.addListener() afin d'enregistrer un écouteur pour la liste de contacts.
    (BlackBerryPIMList) contactList.addListener(new PIMListListener());
  5. Remplacez les méthodes PIMListListener.itemAdded(), PIMListListener.itemUpdated()et PIMListListener.itemRemoved() pour configurer le comportement de notification.
    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));
    }
    
  6. Recherchez toute exception PIMException et ControlledAccessException si votre application n'est pas autorisée à accéder à l'application appelée.
Sujet précédent: Supprimer un contact

Ces informations vous ont-elles été utiles ? Envoyez-nous vos commentaires.