Mam aplikację na Androida do zapisywania danych logowania, takich jak nazwa użytkownika i hasło, dzięki SharedPreferences
czemu działa dobrze, ale muszę usunąć wszystkie używane SharedPreferences
podczas odinstalowywania aplikacji. Jak to zrobić?
SavePreferences("one ", "");
SavePreferences("two", "");
LoadPreferences();
private void SavePreferences(String key, String value){
sharedPreferences = getSharedPreferences("TEST", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
}
private void LoadPreferences(){
sharedPreferences = getSharedPreferences("TEST", MODE_PRIVATE);
String strSavedMem1 = sharedPreferences.getString("MEM1", "");
String strSavedMem2 = sharedPreferences.getString("MEM2", "");
}
Chcę to usunąć SharedPreferences
po odinstalowaniu mojej aplikacji.
android
android-preferences
shivcena
źródło
źródło
/dbdata/database/my.package/shared_prefs
. Nie wiem, czy to dlatego, że jest zrootowane, czy dlatego, że to Froyo. Nie udało mi się przetestować nowszych urządzeńOdpowiedzi:
SharedPreferences
jest zawsze usuwany wraz z odinstalowaniem aplikacji.Po odinstalowaniu dowolnej aplikacji wszystkie zmiany, które aplikacja wprowadziła w pamięci wewnętrznej, zostaną odwołane, co oznacza, że pliki SharedPreference, inne pliki danych, plik bazy danych, aplikacja zostaną automatycznie usunięte przez system operacyjny Android.
EDITED: 29/04/15: dla> = 21 API odwołaj się do odpowiedzi @Maher Abuthraa
źródło
Problem nie dotyczy preferencji. To zdecydowanie menedżer kopii zapasowych ! .. od Androida-23 domyślnie kopia zapasowa jako zadanie przechowuje dane aplikacji, w tym preferencje w chmurze. Później, gdy odinstalujesz, a następnie zainstalujesz nowszą wersję, prawdopodobnie użyjesz przywróconych preferencji. Aby tego uniknąć, po prostu dodaj to do swojego manifestu (lub przynajmniej do debugowania manifestu):
Przeczytaj to: http://developer.android.com/guide/topics/data/backup.html
Zobaczysz również, że jeśli uruchomisz Lint pod
Android > Lint > Security
:Warto tutaj wspomnieć, że proces tworzenia kopii zapasowych jest jak czarna skrzynka ... nie wiesz, kiedy się zaczyna i okres między sprawdzeniami ... więc lepiej jest programować, aby go wyłączyć.
==== Aktualizacja ====
Po ustawieniu
allowbackup
nafalse
. Aby rozwiązać ten problem, dodaj:w elemencie aplikacji. Podziękowania dla @ shahzain-ali
Alternatywnie możesz wyczyścić pamięć podręczną przed odinstalowaniem aplikacji.
Mam nadzieję, że to pomoże.
źródło
To dziwne, ale znalazłem rozwiązanie w następujący sposób:
xmlns:tools="http://schemas.android.com/tools"
w oczywisty tagu z Manifest.xml plikuandroid:allowBackup="false"
w tagu aplikacji z Manifest.xml plikutools:replace="android:allowBackup"
w tagu aplikacji z Manifest.xml plikuPlik Manifest.xml powinien wyglądać następująco.
Zrobione.
źródło
android:allowBackup="false"
itools:replace="android:allowBackup"
nadal otrzymuję moje preferencje, masz jakiś pomysł, w czym problem?Problem nie dotyczy preferencji.
użyj tego kodu, aby to naprawić ..........
źródło
Ustawienie
allowBackup="false"
wyłącza aplikację z tworzenia kopii zapasowych i przywracania.źródło
Preferencje współdzielone nie zawsze są już usuwane w przypadku pianki marshmallow. Dodaj ten wiersz do swojego manifestu: "android: allowBackup =" false ""
źródło