Je construis un SDK et j'ai une classe appelée par exemple mainClass, donc dans l'application MainActivity je laisse les développeurs (qui utilisent le SDK) passer des données comme la clé d'application dans le constructeur mainClass puis ils appellent la fonction de registre service d'enregistrement seulement la première fois que l'application était ouverte (en utilisant la préférence). Le problème est lorsqu'un développeur modifie la clé de l'application et déploie à nouveau l'application (avec la nouvelle clé d'application) la préférence de l'application (appFirstOpen = false) reste là et l'enregistrement de la nouvelle touche d'application ne passera pas. J'ai pensé à vérifier si la clé de l'application a changé dans le constructeur mais cela semble être un surcoût. est là pour savoir si l'application est redéployée pour effacer la préférence ou est-il une autre façon d'obtenir ce problème.Comment savoir si l'application Android est redéployée?
Répondre
Pour répondre à la question dans le titre, il n'y a pas de nouveau drapeau de déploiement. Vous devrez donc vérifier d'autres facteurs tels que l'identifiant de l'application, dans votre application, ou le PackageInfo ou le ApplicationInfo du système. Si vous voulez juste effacer les données de l'application, vous pouvez effacer les données manuellement dans Paramètres -> Applications, ou simplement effacer les données de préférence à chaque fois avec SharedPreferences.Editor.clear().
Il semble que vous rencontriez un problème lorsque la même application est exécutée sur un nouvel ID d'application. Cela me suggère que travailler avec les frais généraux de vérification de l'identifiant de l'application serait utile. Je suggère d'avoir un fichier de préférences par identifiant d'application, il sera capable de gérer les conditions appFirstOpen.
- 1. android savoir si une application est installée
- 2. Android - Comment savoir si mapView est correctement chargé?
- 3. android: comment savoir si l'écran d'accueil est au point
- 4. Android multiples onglets voir comment savoir si on est sélectionné
- 5. Comment savoir si l'USB est connecté à un appareil Android?
- 6. Comment savoir si la clé WPA est incorrecte Android
- 7. Comment savoir si MediaScanner est activé?
- 8. Comment savoir si en mode voiture (Android)?
- 9. Comment savoir si un ordinateur est redémarré
- 10. Comment savoir si l'objet raphael est caché?
- 11. Comment savoir si une variable est privée?
- 12. Comment savoir si le processus est mort
- 13. comment savoir si une forme est praticable
- 14. Comment savoir si requestLocationUpdate est actif?
- 15. Comment savoir si MemberInfo est interne
- 16. Comment savoir si une session est valide
- 17. Comment savoir si la variable est vide?
- 18. Comment savoir si un utilisateur est connecté?
- 19. Comment savoir si la radio est vérifiée
- 20. Comment savoir si Google Analytics est chargé
- 21. Comment savoir si l'applet ou l'application est
- 22. Comment savoir si une requête est terminée
- 23. Comment savoir si JTextArea est activé?
- 24. Comment savoir si Bzr est actuellement verrouillé?
- 25. Comment savoir si l'objet est dans NSArray?
- 26. Comment savoir si une case est cochée?
- 27. Comment savoir si NSUserDefaults est déjà enregistré?
- 28. Comment savoir si une session est active?
- 29. Comment savoir si une image est chargée?
- 30. Comment savoir si un pthread est mort
Est-ce que votre SDK ou le programmeur gère les préférences? –
Le SDK gère les préférences. – Jimmy
Pouvez-vous créer vos préférences par ID d'application? –