用户往通讯录添加新的联系人的时候,捕捉这个消息:
下面是部分实现代码
为了能使应用程序能收到这个消息事件,必须以一个继承于McontactDbObserver的类作为观察器传递给通讯录数据库,并且实现McontactDbObserver的接口函数,即一个纯虚函数HandleDatabaseEventL(),这个函数在通讯录被修改后由系统自动调用。用于处理通讯录数据库修改的事件。
class CMyContactApp : public McontactDbObserver
{
public:
// any public data and functions
CMyContactApp();
// override the virtual function from the base class
virtual void HandleDatabaseEventL(TContactDbObserverEvent aEvent);
private:
// any private data and functions
};
// handling contact database events
void CMyContactApp::HandleDatabaseEventL(TContactDbObserverEvent aEvent)
{
¡_ // Event handling code
}
此外,应用程序必须创建一个CContactChangeNotifier对象,用于注册自己作为接受事件的观察者。
CContactDatabase* contactDb = CContactDatabase::OpenL();
CMyContactApp contactDbObserver; //即this
CContactChangeNotifier* notifier = CContactChangeNotifier::NewL(*contactDb, contactDbObserver);