usar studio sirve que para getsharedpreferences eliminar como android sharedpreferences nexus-6p

android - studio - SharedPreferences no se eliminan en la aplicación de desinstalación del usuario



para que sirve shared preference en android (3)

Dado que Nexus 6P ejecuta Android M, creo que el problema son las copias de seguridad automáticas .

Creo que puedes usar allowBackup para detener eso.

Marque esta respuesta: https://stackoverflow.com/a/32010582/336312

¿Alguien ha encontrado este problema en un dispositivo Nexus 6P? Solo estoy teniendo este problema en un Nexus 6P (que ejecuta Google Fi).

Cuando instalo la aplicación, hay una clave para userIsLoggedIn dentro de SharedPreferences .

Este bloque

boolean userIsLoggedIn = SharedPrefs.userIsLoggedIn(this); // Then in another class... public static boolean userIsLoggedIn(Context context) { // For users updating apps, if the previous key-value is a string, convert it to boolean try { return context.getSharedPreferences(LOGIN_FILE, Context.MODE_PRIVATE) .getBoolean(USER_LOGGED_IN, false); } catch (ClassCastException e) { Logger.e(TAG, e.getMessage()); context.getSharedPreferences(LOGIN, Context.MODE_PRIVATE) .edit() .putBoolean(USER_LOGGED_IN, false) .commit(); return context.getSharedPreferences(LOGIN, Context.MODE_PRIVATE) .getBoolean(USER_LOGGED_IN, false); } }

Ahora esto debería devolver false en una nueva desinstalación, pero depurando esto en una instalación nueva obtengo lo siguiente en el inicio de la aplicación.

También estoy ejecutando Proguard, si eso importa, cuando ejecuto el dispositivo en un APK no habilitado para proguard, funciona bien. Ejecutar proguard en cualquier otro dispositivo funciona bien.


En las versiones de Android M y versiones superiores, las copias de seguridad de la aplicación se guardan en el controlador de Google, puede deshabilitar esto usando, vaya al archivo de manifiesto de su proyecto en la sección de la aplicación .


Usted puede agregar a su manifiesto:

android:fullBackupContent="false"