Ich verwende database
, um einige data
zu speichern. Wenn der Benutzer jedoch zu Apps Setting
s wechselt und in den App-Einstellungen auf die Schaltfläche 'clear data'
drückt, werden Daten in Datenbanken gelöscht, wodurch dies vermieden werden kann. Kann ich 'clear data'
BUTTON für meine App in den Apps-Einstellungen als nicht aktiviert oder andere Vorschläge machen ....
Endlich habe ich eine Lösung gefunden. Wenn Sie den Anwendungssystemadministrator machen, ist es nicht möglich, Daten zu löschen und die App zu deinstallieren
Es gibt keinen direkten Weg, um zu vermeiden, dass App-Daten von dem, was ich weiß, gelöscht werden.
Sie können jedoch Ihre Daten auf dem externen Speicher (SD-Karte) in einer Datei speichern und bei jedem Start der App prüfen, ob diese Datei vorhanden ist und ihren Inhalt in die Datenbank einbinden. Dies wird natürlich nicht funktionieren, wenn der Benutzer manuell Ihre Sicherungsdatei von der SD löscht, eine andere SD einfügt, die SD entfernt oder das Gerät als eingehängtes Laufwerk mit dem Computer verbindet und dann die App startet.
Android fragt nicht, ob Ihre App gelöscht werden soll oder nicht. Es ist eine Systemfunktionalität, die dem Benutzer zur Verfügung gestellt wird. Der Benutzer kann die App vollständig deinstallieren.
Also, erstelle / öffne die Datenbankdatei an einem anderen Ort.
Datenhaltbarkeit:
Hinzufügen android:manageSpaceActivity=".ActivityOfMyChoice"
zum Anwendungs-Tag deines Manifests wie:
<application
android:label="MyApp"
android:icon="@drawable/icon"
android:manageSpaceActivity=".ActivityOfMyChoice" >
Dann gibt es anstelle von "Daten löschen" eine Schaltfläche für "Raum verwalten", die ActivityOfMyChoice
startetActivityOfMyChoice.java
%Vor%Wenn Sie also auf die Manage-Aktivität klicken, wird die Aktivität beendet.
Ich denke, es gibt einen Weg, aber ich habe es noch nicht ausprobiert. Sie können Ihre DB-Datei im Asset-Ordner speichern, überprüfen Sie, ob es verfügbar ist, ansonsten tun Sie einfach Ссылка (achten Sie auf DataBaseHelper Klasse). Aber auf diese Weise verlieren Sie alle "Update-Daten".