2

私はS60 第 5 版電話の通話履歴を監視するためにCLogViewRecentとを使用しています。MLogViewChangeObserver

MLogViewChangeObserver次の 3 つの機能があります。

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);

ただし、定期的に呼び出されるのは最初の 2 つだけで、たまにHandleLogViewChangeEventDeletedLしか呼び出されません。

例:HandleLogViewChangeEventDeletedL通話履歴アプリの「着信履歴一覧」のメニューから「一覧消去」を選択しても呼び出されません。

これが起こっている理由と、これを修正する方法を誰かが指摘できますか?

ありがとうございました。

4

1 に答える 1

2

Symbian^3 logcli sourceを読むと、「リストがクリアされました」は「イベントが削除されました」とは異なるイベントです。MLogViewChangeObserverコールバック mixin には反映されず、 MLogViewChangeObserverInternalasにのみ反映されますHandleLogViewChangeEventLogClearedL()。それが起こっている理由です。ELogChangeTypeLogCleared申し訳ありませんが、変更タイプを希望どおりに処理する独自の logsrv クライアントを実装しない限り、回避策を提供することはできません。

達成しようとしていることを全体像レベルで説明して、他の選択肢を提供できるかもしれません。

于 2010-03-09T08:23:31.700 に答える