Quelqu'un a-t-il rencontré ce problème sur un appareil Nexus 6P? Je ne reçois ce problème que sur un Nexus 6P (exécutant Google Fi).
Lorsque j'installe l'application, il y a une clé pour userIsLoggedIn
à l'intérieur SharedPreferences
.
Ce bloc:
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);
}
}
Maintenant, cela devrait retourner false
sur une nouvelle désinstallation, mais en le déboguant sur une nouvelle installation, j'obtiens ce qui suit au démarrage de l'application.
J'exécute également Proguard si cela importe, lorsque vous exécutez l'appareil sur un APK non proguard activé, il fonctionne correctement. L'exécution de proguard sur tout autre appareil fonctionne correctement.
Étant donné que Nexus 6P fonctionne Android M, je pense que Sauvegardes automatiques est le problème.
Je pense que vous pouvez utiliser allowBackup pour arrêter cela.
Vérifiez cette réponse: https://stackoverflow.com/a/32010582/336312
Dans Android M et versions supérieures, ils conservent les sauvegardes d'application dans le pilote Google, vous pouvez désactiver cela en utilisant, allez dans votre projet manifeste fichier sous Application ensemble de sections Android:allowBackup="true"
à false.et vous êtes prêt à partir.
vous pouvez ajouter à votre manifeste:
Android:fullBackupContent="false"