Aggiornamento di una voce del calendario senza notifica

È possibile aggiornare una voce del calendario di un dispositivo BlackBerry senza inviare notifiche ai partecipanti associati alla voce.

  1. Importare le classi e le interfacce richieste.
    import java.util.*;
    import javax.microedition.pim.*;
    import net.rim.blackberry.api.pdap.BlackBerryEvent;
    import net.rim.blackberry.api.pdap.BlackBerryEventList;
    import net.rim.blackberry.api.pdap.BlackBerryPIMItem;
  2. Richiamare PIM.openPIMList() per aprire un elenco di voci del calendario come oggetto BlackBerryEventList.
    BlackBerryEventList eventList = null;
    try 
    { 
       eventList = (BlackBerryEventList) 
          PIM.getInstance().openPIMList(PIM.EVENT_LIST, PIM.READ_WRITE); 
    }
    catch (PIMException e) 
    {
       // Handle exception
    }
  3. Recuperare un oggetto BlackBerryEvent dall'elenco delle voci.
    Enumeration events = eventList.items();
    BlackBerryEvent event = (BlackBerryEvent) events.nextElement();
  4. Modificare la voce.
    if (eventList.isSupportedField(Event.SUMMARY)) 
    {
       event.addString(Event.NOTE, Event.ATTR_NONE, "Remember to bring food");
    }
  5. Richiamare BlackBerryPIMItem.commit() e specificare il contrassegno BlackBerryEvent.DO_NOT_NOTIFY_ATTENDEES per salvare le modifiche.
    if(event.isModified()) 
    {
       try
       {
          int result;
          result = 
           ((BlackBerryPIMItem) event).commit(BlackBerryEvent.DO_NOT_NOTIFY_ATTENDEES);
       }
       catch (PIMException e) 
       {
          // Handle exception
       }
    }

    Se si specifica BlackBerryEvent.DO_NOT_NOTIFY_ATTENDEES quando si esegue il commit delle modifiche a una voce del calendario, la notifica non viene inviata a meno che la voce del calendario non corrisponda a una nuova riunione o siano stati aggiunti partecipanti alla riunione rispetto all'ultimo aggiornamento (per consentire ai partecipanti alla riunione di accettare l'invito, è necessario inviare loro una notifica). Se la notifica è stata inviata, BlackBerryPIMItem.commit() restituisce BlackBerryEvent.MEETING_RECORD_NOT_FOUND o BlackBerryEvent.INVITEE_LIST_CHANGED.

Esempio di codice

BlackBerryEventList eventList = null;
try 
{ 
   eventList = (BlackBerryEventList) 
      PIM.getInstance().openPIMList(PIM.EVENT_LIST, PIM.READ_WRITE); 
   Enumeration events = eventList.items();
   BlackBerryEvent event = (BlackBerryEvent) events.nextElement();
   if (eventList.isSupportedField(Event.SUMMARY)) 
   {
      event.addString(Event.NOTE, Event.ATTR_NONE, "Remember to bring food");
   }
   if(event.isModified()) 
   {
      int result;
      result = 
         ((BlackBerryPIMItem) event).commit(BlackBerryEvent.DO_NOT_NOTIFY_ATTENDEES);
   }
}
catch (PIMException e) 
{
   // Handle exception
}

Le informazioni sono state utili? Inviateci i vostri commenti.