La mia app utilizza lo schema SyncAdapter
, contenente le credenziali dell'utente utilizzando lo AccountManager
e un ContentProvider
per memorizzare i dati in un db.Eliminazione del database quando si rimuove un account
Quando viene rimosso il numero account
, è possibile rimuovere il db utilizzando l'approccio spiegato in this question. Il db viene rimosso facendo:
boolean deleted = mContext.deleteDatabase(DatabaseHelper.DATABASE_NAME);
Questo funziona bene, ma quando lo faccio di nuovo il login tutto è ancora lì. Sembra che lo ContentProvider
non sappia che il db è stato rimosso.
In this answer, inazaruk dice:
È necessario assicurarsi di aver ucciso il processo che ospita ContentProvider che utilizza il file di database specifico. E solo lo cancellarlo.
Uccidere il processo per cancellare un db non sembra giusto.
C'è una cosa migliore da fare?
Perché cancellare il file di database? Non è sufficiente rimuovere i dati dal database? – zapl
@zapl: Sì. Potrei fare qualcosa come 'delete from table;' – Macarse