Sto sviluppando, per esercizio/studio, un'app che legge/cancella gli sms.
Ho un problema con la cancellazione dei singoli sms.
Faccio un esempio per spiegarmi subito:
In una conversazione ho 5 messaggi, A, B, C, D, E, ordinati per data, dove A è il più recente.
Nell'app stock di Android, la prima schermata riguarda le conversazioni, quindi verrà visualizzato per ogni conversazione il messaggio più recente.
Se all'interno della conversazione elimino l'sms più recente, quando torno alla schermata delle conversazioni automaticamente cambierà il messaggio che rappresenta quella conversazione.
Quindi se elimino A, nella schermata principale vedrò B.
Ho verificato che varie app dal playstore si comportano come quella stock, quindi funzionano correttamente.
Nella mia app, se elimino l'ultimo messaggio di una conversazione (A), quando tento la lettura dall'app stock o una alternativa succede che:
- Nella lista delle conversazioni, per la conversazione in questione è ancora visualizzato il messaggio A;
- All' interno della conversazione ci sono i messaggi B, C, D, E.
--> Questo è un comportamento anomalo
Nella mia app, se elimino tutti i messaggi relativi ad una conversazione, anche l'app stock o app alternative non visualizzano più alcun messaggio.
--> Questo è un comportamento corretto
Ho verificato dal pc il contenuto del file mmssms.db, e posso dire che da questo gli sms vengono effettivamente cancellati.
Quindi non so da dove l'app stock e quelle di terze parti prelevino la copia dell'ultimo messaggio, e quindi non so come facciano ad eliminarlo.