Lorsque je déplace mes applications vers la carte SD en utilisant la fonction "Déplacer vers la carte SD" dans ICS, les widgets pour une application particulière arrêtent de fonctionner et affichent "Problème de chargement du widget". Quelqu'un sait-il comment résoudre ce problème? ou dois-je simplement garder l'application dans la mémoire interne pour que les widgets fonctionnent?
Réponses
Trop de publicités?Il existe certaines raisons techniques expliquées sur le site des développeurs Android qui justifient pourquoi le widget a pu cesser de fonctionner :
Aucun de ces éléments n'est recommandé de déplacer vers un stockage externe en raison d'éventuelles défaillances :
-
Services
Votre service en cours d'exécution sera arrêté et ne sera pas redémarré lorsque le stockage externe sera remonté. Vous pouvez cependant vous inscrire pour l'intent de diffusion ACTION_EXTERNAL_APPLICATIONS_AVAILABLE, qui informera votre application lorsque les applications installées sur le stockage externe sont à nouveau disponibles pour le système. À ce moment-là, vous pourrez redémarrer votre service.
-
Services d'alarme
Vos alarmes enregistrées avec AlarmManager seront annulées. Vous devrez réenregistrer manuellement toutes les alarmes lorsque le stockage externe sera remonté.
-
Moteurs de méthode de saisie
Votre IME sera remplacé par l'IME par défaut. Lorsque le stockage externe sera remonté, l'utilisateur pourra ouvrir les paramètres système pour réactiver votre IME.
-
Fonds d'écran animés
Votre fond d'écran animé en cours d'exécution sera remplacé par le fond d'écran animé par défaut. Lorsque le stockage externe sera remonté, l'utilisateur pourra à nouveau choisir votre fond d'écran animé.
-
Widgets d'application
Votre widget d'application sera supprimé de l'écran d'accueil. Lorsque le stockage externe sera remonté, votre widget d'application ne sera pas disponible pour l'utilisateur à sélectionner jusqu'à ce que le système réinitialise l'application d'accueil (généralement pas avant un redémarrage du système).
-
Gestionnaires de compte
Vos comptes créés avec AccountManager disparaîtront jusqu'à ce que le stockage externe soit remonté.
-
Adaptateurs de synchronisation
Votre AbstractThreadedSyncAdapter et l'ensemble de ses fonctionnalités de synchronisation ne fonctionneront pas jusqu'à ce que le stockage externe soit remonté.
-
Administrateurs de périphérique
Votre DeviceAdminReceiver et toutes ses capacités administratives seront désactivés, ce qui peut avoir des conséquences imprévues sur la fonctionnalité du dispositif, pouvant persister après le remontage du stockage externe.
-
Diffuseurs d'écoute pour "démarrage terminé"
Le système envoie l'intent de diffusion ACTION_BOOT_COMPLETED avant que le stockage externe ne soit monté sur le dispositif. Si votre application est installée sur le stockage externe, elle ne pourra jamais recevoir cette diffusion.
-
Protection contre la copie
Votre application ne peut pas être installée sur la carte SD du dispositif si elle utilise la fonctionnalité de protection contre la copie de Google Play. Cependant, si vous utilisez plutôt la Licence d'Application de Google Play, votre application peut être installée sur le stockage interne ou externe, y compris les cartes SD.
Comme vous l'avez deviné, vos widgets, fonds d'écran animés, etc. ne fonctionneront plus une fois que vous les aurez déplacés sur la carte SD. Si vous avez rooté votre appareil, vous pouvez utiliser des solutions comme link2sd et data2sd qui créent une partition supplémentaire sur votre carte SD pour déplacer votre application ou une partie de l'application.