web-dev-qa-db-fra.com

Android M problème de préférences partagées étrange

Sur mon Nexus 5 exécutant Android M Developer Preview 2, lors de la désinstallation/réinstallation d'une application, l'appareil récupère les préférences partagées que j'ai stockées il y a longtemps, par exemple un booléen isFirstLaunch.

La seule façon de les effacer est de le faire manuellement à partir des paramètres de l'appareil.

Y a-t-il un changement dans le comportement des préférences partagées sur Android M? Je ne trouve aucune documentation à ce sujet.

Ou peut-être le Android M Preview 2 ROM a un bug ...

41
nios

C'est parce que Android M comportera Sauvegardes automatiques ( ancien lien).

Extrait:

La fonction de sauvegarde automatique préserve les données que votre application crée sur une machine utilisateur en les téléchargeant sur le compte Google Drive de l'utilisateur et en les chiffrant. Vous ou l'utilisateur ne payez aucun frais pour le stockage des données et les données enregistrées ne sont pas prises en compte dans le quota de Drive personnel de l'utilisateur. Pendant la période de prévisualisation M, les utilisateurs peuvent stocker jusqu'à 25 Mo par Android.

69
Knossos

Ouvrez les paramètres -> Sauvegarde et réinitialisation -> restauration automatique -> désactivé s'il est activé, le cache de l'application et la base de données seront restaurés.

5
Tabassum Latif

Même déjà répondu à cette question ci-dessus, pas mentionné la solution réelle pour éviter la sauvegarde automatique même après la désinstallation de l'application.

Selon l'officiel, doc dit pour éviter la sauvegarde automatique doit faire <application Android:allowBackup="false"> dans le fichier Manifest sous la balise d'application .:

L'activation et la désactivation des applications de sauvegarde qui ciblent Android 6.0 (API niveau 23) ou supérieur participent automatiquement à la sauvegarde automatique en raison de Android:allowBackup l'attribut par défaut est true. Pour éviter toute confusion, vous devez définir explicitement l'attribut dans votre manifeste comme suit:

<manifest ... >
    ...
    <application Android:allowBackup="true" ... >
        ...
    </application>
</manifest>

Vous pouvez désactiver les sauvegardes en définissant ce paramètre sur false si votre application peut recréer son état via un autre mécanisme ou lorsque votre application traite des informations sensibles qui devraient ne pas être sauvegardé

4
Shylendra Madda