Nexus 6Pデバイスでこの問題が発生したことはありますか?私はこの問題をNexus 6P(Google Fiを実行中)でのみ得ています。ユーザーがアプリケーションをアンインストールするとSharedPreferencesが削除されない
userIsLoggedIn
のキーはSharedPreferences
の中にあります。
このブロック:
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);
}
}
は今、これは新しいアンインストールに
false
を返すが、新鮮でこれをデバッグすることは、私はアプリの起動時に、次の取得インストールする必要があります。
ことが重要ならば非ProGuardの有効APK上でデバイスを実行しているとき、私はまた、ProGuardのを実行すると、それは大丈夫実行します。他のデバイスでproguardを実行すると正常に動作します。
他のデバイスで確認しましたか?コードはうまくいくようです。 –
私はログインがコードのどこかで真実だと思います。なぜなら、共有の設定はそのように振る舞いませんので、最初に確認してください。 – KDeogharkar
これは間違いなく問題ではなく、このコードが最初に実行されます。他の8台のデバイスで確認済みです。 – AndyRoid