AndyRoid AndyRoid - 1 year ago 99
Android Question

SharedPreferences not being removed on user uninstalling application

Has anyone encountered this issue on a Nexus 6P device? I am only getting this issue on a Nexus 6P (running Google Fi).

When I install the app there is a key for

userIsLoggedIn
inside
SharedPreferences
.

This 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);
}
}


Now this should return
false
on a new uninstall but debugging this on a fresh install I get the following on App Startup.

enter image description here

I also running Proguard if that matters, when running the device on a non-proguard enabled APK it runs ok. Running proguard on any other devices runs fine.

Answer Source

Since Nexus 6P is running Android M, I think Automatic Backups is the issue.

I think You can use allowBackup to stop that.

Check this answer: https://stackoverflow.com/a/32010582/336312

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download