Invio a un'applicazione di una notifica circa la modifica di un elenco di contatti

È possibile registrare l'applicazione in modo che riceva una notifica circa le modifiche agli elenchi contatti su un dispositivo BlackBerry implementando l'interfaccia PIMListListener. L'interfaccia PIMListListener fornisce i seguenti metodi:

  • itemAdded(PIMItem item), richiamato quando una voce viene aggiunta a un elenco contatti.
  • itemUpdated(PIMItem oldItem, PIMItem newItem), richiamato quando una voce cambia
  • itemRemoved(PIMItem item), richiamato quando una voce viene rimossa da un elenco contatti.
  1. Importare le classi e le interfacce richieste.
    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. Per ricevere notifiche circa le modifiche all'elenco contatti predefinito, richiamare PIM.openPIMList(int, int) per aprire l'istanza dell'elenco contatti predefinito, passando come parametri il tipo di elenco da aprire (PIM.CONTACT_LIST) e la modalità di accesso con cui aprire l'elenco (PIM.READ_WRITE, PIM.READ_ONLY o PIM.WRITE_ONLY). Andare al passaggio 4.
    BlackBerryContactList contactList = (BlackBerryContactList) 
       PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE);
  3. Per ricevere notifiche circa le modifiche a un elenco contatti non predefinito, effettuare le seguenti azioni:
    1. Richiamare listPIMLists(int), passando come parametro il tipo di elenco da aprire (PIM.CONTACT_LIST), per restituire una matrice di oggetti String. La matrice restituita fornisce i nomi assegnati dal sistema per ogni elenco contatti. L'elenco contatti predefinito viene restituito all'indice 0 della matrice.
      String[] lists = PIM.listPIMLists(PIM.CONTACT_LIST);
    2. Scorrere la matrice restituita da PIM.listPIMLists() per trovare il nome assegnato dal sistema relativo all'elenco contatti per il quale si desidera ricevere le notifiche.
    3. Richiamare PIM.openPIMList(int, int, String) per aprire l'istanza dell'elenco contatti, passando come parametri il tipo di elenco da aprire (PIM.CONTACT_LIST), la modalità di accesso con cui aprire l'elenco (PIM.READ_WRITE, PIM.READ_ONLY o PIM.WRITE_ONLY) e il nome dell'elenco contatti.
      BlackBerryContactList contactList = (BlackBerryContactList) 
         PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE, name);
  4. Richiamare BlackBerryPIMList.addListener() per registrare un listener per l'elenco contatti.
    (BlackBerryPIMList) contactList.addListener(new PIMListListener());
  5. Sovrascrivere i metodi PIMListListener.itemAdded(), PIMListListener.itemUpdated() e PIMListListener.itemRemoved() per configurare il comportamento di notifica.
    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. Verificare la presenza di PIMException e ControlledAccessException se l'applicazione non dispone dell'autorizzazione per accedere all'applicazione che richiama.
Argomento precedente: Eliminazione di un contatto

Le informazioni sono state utili? Inviateci i vostri commenti.