2016-01-27 28 views
12

Czy ktoś napotkał ten problem na urządzeniu Nexus 6P? Dostaję ten problem tylko na Nexusie 6P (z uruchomionym Google Fi).Udostępnione odwołania nie zostały usunięte podczas odinstalowywania aplikacji użytkownika

Kiedy instaluję aplikację, jest klucz do userIsLoggedIn wewnątrz SharedPreferences.

Blok:

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

Teraz powinno powrócić false na nowym deinstalacji ale debugowania to na nową instalację uzyskać następujące na starcie aplikacji.

enter image description here

ja również uruchomiony PROGUARD jeśli się liczy, gdy działa urządzenie w sposób wolny od PROGUARD włączoną APK to działa OK. Uruchamianie proguard na innych urządzeniach działa dobrze.

+0

Czy sprawdziłeś z innymi urządzeniami? Kod wydaje się w porządku. –

+0

Myślę, że logowanie jest prawdziwe gdzieś w kodzie, ponieważ wspólne preferencje nie zachowują się w ten sposób, więc najpierw sprawdź to. – KDeogharkar

+0

To zdecydowanie nie jest problem, ten fragment kodu jest uruchamiany jako pierwszy. Potwierdziłem na 8 innych urządzeniach. – AndyRoid

Odpowiedz

3

w Android M i powyżej wersji trzymają kopie aplikacji w sterowniku google, można wyłączyć to za pomocą, przejdź do projektu manifest plik pod Zastosowanie sekcja ustawić android:allowBackup="true" na false.and jesteś dobry, aby przejść.