Não recebendo notificações claras da lista do log de chamadas
Pergunta
Eu tenho usado CLogViewRecent
e MLogViewChangeObserver
Para monitorar os telefones S60 5th Edition.
MLogViewChangeObserver
tem três funções:
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);
No entanto, apenas os dois primeiros são chamados regularmente, enquanto HandleLogViewChangeEventDeletedL
é chamado apenas às vezes.
Por exemplo HandleLogViewChangeEventDeletedL
não é chamado quando escolho "Lista Clear" no menu na lista "Chamadas recebidas" no aplicativo de log de chamadas.
Alguém pode apontar para a razão pela qual isso está acontecendo e como corrigir isso?
Obrigada.
Solução
Lendo o Symbian^3 Source, "List Libered" é um evento diferente de "Evento excluído". Não se reflete no MLogViewChangeObserver
Mixin de retorno de chamada, apenas em MLogViewChangeObserverInternal
Como HandleLogViewChangeEventLogClearedL()
. É por isso que está acontecendo. Desculpe, não posso oferecer uma solução alternativa, com falta de implementar seu próprio cliente LogSRV que lida ELogChangeTypeLogCleared
Alterar tipos da maneira como você deseja.
Talvez você possa descrever o que está tentando alcançar no nível geral, para que seja possível oferecer outras alternativas.