Tengo una aplicación de Android para guardar los detalles de inicio de sesión, como el nombre de usuario y la contraseña, a través de SharedPreferences
eso funciona bien, pero necesito eliminar todos mis usados SharedPreferences
mientras se desinstala mi aplicación. ¿Cómo hacerlo?
SavePreferences("one ", "");
SavePreferences("two", "");
LoadPreferences();
private void SavePreferences(String key, String value){
sharedPreferences = getSharedPreferences("TEST", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
}
private void LoadPreferences(){
sharedPreferences = getSharedPreferences("TEST", MODE_PRIVATE);
String strSavedMem1 = sharedPreferences.getString("MEM1", "");
String strSavedMem2 = sharedPreferences.getString("MEM2", "");
}
Quiero eliminar esto SharedPreferences
cuando se desinstale mi aplicación.
android
android-preferences
shivcena
fuente
fuente
/dbdata/database/my.package/shared_prefs
. No sé si es porque tiene sus raíces o porque es Froyo. No he podido probar con dispositivos más nuevosRespuestas:
SharedPreferences
siempre se elimina junto con la desinstalación de la aplicación.Cuando desinstala cualquier aplicación, todos los cambios que la aplicación ha realizado en su memoria interna se revocan, eso significa que sus archivos SharedPreference, otros archivos de datos, el archivo de base de datos y la aplicación se eliminan automáticamente por el sistema operativo Android.
EDITADO: 29/04/15: para> = 21 API, consulte la respuesta de @Maher Abuthraa
fuente
El problema no son las preferencias. ¡Es drásticamente el administrador de copias de seguridad ! .. desde Android-23 por defecto, la copia de seguridad como tarea almacena los datos de la aplicación, incluidas las preferencias en la nube. Más tarde, cuando desinstale y luego instale una versión más nueva, probablemente usará las preferencias restauradas. Para evitar eso, simplemente agregue esto a su manifiesto (o al menos para depurar el manifiesto):
Lea esto: http://developer.android.com/guide/topics/data/backup.html
También verá que si ejecuta Lint en
Android > Lint > Security
:Es bueno mencionar aquí que el proceso de copia de seguridad es como una caja negra ... no sabes cuándo comienza y el período entre comprobaciones ... así que es mejor para el desarrollo desactivarlo.
==== Actualizar ====
Usted puede obtener temas de fusión del manifiesto después de ajustar
allowbackup
afalse
. Para solucionar ese problema, agregue:en el elemento de la aplicación. Crédito a @ shahzain-ali
Alternativamente, puede borrar el caché antes de desinstalar la aplicación.
Espero que te ayude.
fuente
Es extraño pero encontré la solución de la siguiente manera:
xmlns:tools="http://schemas.android.com/tools"
en la etiqueta manifiesta de Manifest.xml archivoandroid:allowBackup="false"
en la etiqueta de la aplicación de Manifest.xml archivotools:replace="android:allowBackup"
en la etiqueta de la aplicación de Manifest.xml archivoEl archivo Manifest.xml debería verse así.
Está hecho.
fuente
android:allowBackup="false"
ytools:replace="android:allowBackup"
sigo obteniendo mis preferencias, ¿alguna idea de cuál es el problema?El problema no son las preferencias.
usa este código para arreglarlo ..........
fuente
La configuración
allowBackup="false"
excluye una aplicación de la copia de seguridad y la restauración.fuente
Las preferencias compartidas ya no se eliminan siempre a partir de marshmallow. Agrega esta línea en tu manifiesto: "android: allowBackup =" false ""
fuente