2010-03-08 35 views
2

我一直在使用CLogViewRecentMLogViewChangeObserver來監控S60第5版手機上的通話記錄。未收到來自通話記錄的清除列表通知

MLogViewChangeObserver有三個功能:

virtual void HandleLogViewChangeEventAddedL(TLogId aId, TInt aViewIndex, TInt aChangeIndex, TInt aTotalChangeCount); 
virtual void HandleLogViewChangeEventChangedL(TLogId aId, TInt aViewIndex, TInt aChangeIndex, TInt aTotalChangeCount); 
virtual void HandleLogViewChangeEventDeletedL(TLogId aId, TInt aViewIndex, TInt aChangeIndex, TInt aTotalChangeCount); 

然而,只有前兩個得到定期調用,而HandleLogViewChangeEventDeletedL被稱爲只是有時。

E.g.當我從通話記錄應用程序中的「已接電話」列表中的菜單中選擇「清除列表」時,不會調用HandleLogViewChangeEventDeletedL

任何人都可以指出爲什麼發生這種情況,以及如何糾正?

謝謝。

回答

2

讀取Symbian^3 logcli source,「清除列表」是一個與「刪除事件」不同的事件。它沒有反映在MLogViewChangeObserver回調mixin中,只有MLogViewChangeObserverInternalHandleLogViewChangeEventLogClearedL()。這就是它發生的原因。很抱歉,無法爲您提供解決方法,但您無法實現您自己的logsrv客戶端,以您想要的方式處理ELogChangeTypeLogCleared更改類型。

也許你可以描述你想要在大的水平上實現什麼,所以有可能提供其他的選擇。

+0

謝謝你指點我的源代碼。我的應用程序需要與通話記錄同步,所以當通話記錄被刪除時,我的內部通話清單也應該被清除。 – 2010-03-09 11:14:18