Hat jemand dieses Problem auf einem Nexus 6P-Gerät festgestellt? Ich erhalte dieses Problem nur auf einem Nexus 6P (mit Google Fi).
Wenn ich die App installiere, gibt es einen Schlüssel für userIsLoggedIn
in SharedPreferences
.
Dieser Block:
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);
}
}
Nun sollte dies bei einer neuen Deinstallation false
zurückgeben, aber wenn ich dies bei einer Neuinstallation debugge, erhalte ich beim Starten der App Folgendes.
Ich verwende auch Proguard, wenn das wichtig ist. Wenn das Gerät auf einem APK ohne Proguard ausgeführt wird, ist es in Ordnung. Das Ausführen von proguard auf anderen Geräten funktioniert einwandfrei.
Da Nexus 6P läuft Android M, ich denke Automatische Backups ist das Problem.
Ich denke, Sie können allowBackup verwenden, um das zu stoppen.
Überprüfen Sie diese Antwort: https://stackoverflow.com/a/32010582/336312
In Android M und höheren Versionen speichern sie Anwendungs-Backups im Google-Treiber. Sie können dies deaktivieren, indem Sie zu Ihrem Projekt gehen. Manifest Datei unter Anwendung Abschnittsmenge Android:allowBackup="true"
zu falsch. und Sie sind gut zu gehen.
sie können zu Ihrem Manifest hinzufügen:
Android:fullBackupContent="false"