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只是偶尔被调用。

例如HandleLogViewChangeEventDeletedL,当我从通话记录应用程序的“已接来电”列表中的菜单中选择“清除列表”时,不会调用。

谁能指出发生这种情况的原因,以及如何纠正这种情况?

谢谢你。

4

1 回答 1

2

阅读Symbian^3 logcli 源代码,“列表已清除”是与“事件已删除”不同的事件。它没有反映在MLogViewChangeObserver回调 mixin 中,只反映在MLogViewChangeObserverInternalas 中HandleLogViewChangeEventLogClearedL()。这就是它发生的原因。抱歉,无法为您提供解决方法,除非您实现自己的 logsrv 客户端ELogChangeTypeLogCleared以您想要的方式处理更改类型。

也许您可以在大局层面描述您想要实现的目标,以便可以提供其他替代方案。

于 2010-03-09T08:23:31.700 回答