2011-06-03 41 views
0

我想爲BlackBerry設置事件監聽器,當它更改,添加,編輯聯繫人時,將某些信息更改爲聯繫人。在我的應用程序中,我希望在使用添加新聯繫人或編輯聯繫人時獲得聯繫。Blackberry Contact Listener

+0

你看過PIMListener類嗎? – jprofitt 2011-06-03 13:05:22

回答

2

這是一個簡單的類,它將監聽BlackBerry地址簿中的更改。

import java.util.Enumeration; 
import javax.microedition.pim.Contact; 
import javax.microedition.pim.ContactList; 
import javax.microedition.pim.PIMItem; 
import javax.microedition.pim.PIMList; 
import net.rim.blackberry.api.pdap.PIMListListener2; 


final class MyPIMListener implements PIMListListener2 
{ 
    public void itemAdded (PIMItem item) 
    { 
     if (item == null) 
     { 
      return; 
     } 

     Contact contact = (Contact)item; 
     // ... 
    } 

    public void itemRemoved (PIMItem item) 
    { 
     if (item == null) 
     { 
      return; 
     } 

     Contact contact = (Contact)item; 
     // ... 
    } 

    public void itemUpdated (PIMItem oldItem, PIMItem newItem) 
    { 
     if (oldItem == null || newItem == null) 
     { 
      return; 
     } 

     itemRemoved(oldItem); 
     itemAdded(newItem); 
    } 

    public void batchOperation (PIMList list) 
    { 
     if (list == null) 
     { 
      return; 
     } 

     try 
     { 
      ContactList contactList = (ContactList)list; 
      Enumeration e = contactList.items(); 

      while (e.hasMoreElements()) 
      { 
       Contact contact = (Contact)e.nextElement(); 
       // ... 
      } 
     } 
     catch (Exception e) 
     { 
      // ... 
     } 
    } 
} 

要使用上述類,您需要將其實例添加爲BlackBerry聯繫人列表的偵聽器。下面是你將如何做到這一點:

MyPIMListener listener = new MyPIMListener(); 
ContactList contactList = (ContactList)PIM.getInstance().openPIMList(
    PIM.CONTACT_LIST, PIM_READ_ONLY); 

BlackBerryPIMList blackberryContactList = (BlackBerryPIMList)contactList; 
blackberryContactList.addListener(listener);