Не получение четких уведомлений о списке из журнала вызовов
Вопрос
Я использовал CLogViewRecent
а также MLogViewChangeObserver
Для мониторинга журнала вызовов на телефонах S60 5th Edition.
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
не вызывается, когда я выбираю «Очистить список» из меню в списке «Полученные звонки» в приложении журнала вызовов.
Может ли кто -нибудь указать на причину, почему это происходит, и как это исправить?
Спасибо.
Решение
Чтение Symbian^3 Logcli Source, «List Cleared» - это событие, отличное от «удаленного события». Это не отражено в MLogViewChangeObserver
обратный миксин, только в MLogViewChangeObserverInternal
в качестве HandleLogViewChangeEventLogClearedL()
. Анкет Вот почему это происходит. Извините, не могу предложить вам обходной путь, не внедрив свой собственный клиент Logsrv, который обрабатывает ELogChangeTypeLogCleared
Изменить типы так, как вы хотите.
Может быть, вы могли бы описать то, чего вы пытаетесь достичь на большом уровне картины, чтобы можно было предложить другие альтернативы.