0

Je souhaite supprimer les préférences partagées une fois l'application désinstallée. Et je ne veux pas utiliser le android: allowBackup = "false" option que j'ai lu qu'il n'est pas recommandé pour les applications en production. Est-il une autre façon que nous pouvons supprimer les préférences partagées pour une application après avoir désinstallé tout en préservant les sauvegardes (pendant les mises à niveau)Supprimer les préférences partagées après la désinstallation de l'application sans utiliser android: allowBackup = "false"

Répondre

0

Vous pouvez utiliser BroadcastReceiver pour elle

Ajouter ce à Manifest

<receiver android:name=".DeleteReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.PACKAGE_REMOVED" /> 
     <data android:scheme="package"/> 
    </intent-filter> 
</receiver> 

Et BroadcastReceiver classe

public class DeleteReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     //remove preferences 
     SharedPreferences settings = context.getSharedPreferences("PreferencesName", Context.MODE_PRIVATE); 
     settings.edit().clear().commit(); 
    } 
} 

MISE À JOUR: après quelques recherches, j'ai trouvé que vous cannot receive something when your app is deleted.

Le package en cours de suppression ne reçoit pas cette intention.

La seule solution est d'utiliser une deuxième application pour l'obtenir. Désolé de décevoir.

Donc dans votre cas android:allowBackup=“false” est le seulement façon de supprimer les paramètres.

+0

J'ai essayé ceci.Mais cela ne fonctionne pas pour moi.J'ai gardé la classe de récepteur en dehors de toutes les activités est-ce correct? – Bharath

+0

@Bharath oui il devrait être séparé dans son propre fichier. Avez-vous vérifié que votre appareil ne bloque pas les récepteurs? – DEADMC

+0

@ DeadMC- Je pense que mon appareil ne bloque pas les récepteurs. Est-ce que je peux vérifier? Je suis nouveau au développement d'Android. Donc, si vous pouvez me donner des conseils, il sera d'une grande aide – Bharath