Antares Posté(e) 15 novembre 2010 Share Posté(e) 15 novembre 2010 Bonjour, Voici mon problème : Mon application peut s'installer sur la sdcard grâce au champ android:installLocation="preferExternal" dans le manifest. Quand elle est installée sur la SDCard et que l'on branche le téléphone en USB pour accéder à la SDCard, l'application est tuée comme indiquée dans la doc. Pour le moment, rien d'anormal. Mon application utilise des services et j'aimerai relancer les services lorsque la sdcard redevient active. J'ai donc fait dans le manifest un receiver qui écoute l'intent EXTERNAL_APPLICATIONS_AVAILABLE, mais je n'arrive pas à recevoir cet intent... Est-ce que quelqu'un a des infos sur le sujet ? Voici le bout de mon manifest : <receiver android:name="MonPackage.MonObserver" android:enabled="true"> <intent-filter> <action android:name="android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE"/> </intent-filter> </receiver> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 16 novembre 2010 Share Posté(e) 16 novembre 2010 Il n'y a pas un "scheme" et un "package" à définir pour ce broadcast? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 16 novembre 2010 Share Posté(e) 16 novembre 2010 en fait il semble que non, désolé :( Lien vers le commentaire Partager sur d’autres sites More sharing options...
Antares Posté(e) 16 novembre 2010 Auteur Share Posté(e) 16 novembre 2010 Pas de souci. :) J'ai fais quelques tests et pour recevoir ce broadcast, il faut absolument qu'il y ait une application d'installer sur la sdcard, sinon il n'est pas envoyé ce qui parait normal. J'ai donc créé une 2e application que je peux installer aussi sur la sdcard, mais suivant où je met l'une ou l'autre je reçoit ou non le broadcast. Pour le moment mes résultats sont un peu illogique : - si les 2 applications sont sur la mémoire interne, aucune ne reçoit le broadcast (normal) - si ma 1ère application est sur la mémoire interne et l'autre sur la sdcard les deux reçoivent (normal) - si ma 2e application est sur la mémoire interne et l'autre sur la sdcard (celle qui était sur la sdcard sur la mémoire interne et inversement) seule celle sur la mémoire interne reçoit le message. - si les 2 sont sur la sdcard, aucune ne reçoit de message broadcast (?????) J'ai peur pour ma santé mentale et j'envisage sérieusement d'ouvrir la fenêtre et de lancer le tout par la fenêtre :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 16 novembre 2010 Share Posté(e) 16 novembre 2010 Tes cas 2 et 3 me paraissent bizarres... Tu es sûr de ne pas avoir oublié quelque chose? Tu es sûr que dans le cas 2 tu reçois bien le broadcast sur les 2 applis, et dans le cas 3 sur une seule? (alors que ça revient au même) Essaye de désinstaller puis réinstaller tes 2 applis. Ta dernière phrase, c'est une allusion au fait que tu te lances dans du dev WP7? :P Lien vers le commentaire Partager sur d’autres sites More sharing options...
Antares Posté(e) 16 novembre 2010 Auteur Share Posté(e) 16 novembre 2010 Bon j'ai refais mes 2 applications et je me retrouve ENFIN avec un comportement logique : - seule l'application sur la mémoire interne reçoit le broadcast si et seulement si une autre application est sur la sdcard. Résultat, je ne peux pas utiliser ce broadcast pour relancer mes services.... flûte... :rolleyes: Pas d'idée ? Bien vu pour le coup des fenêtres, mais non je ne me lance pas dans dans le WP7 ;) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 16 novembre 2010 Share Posté(e) 16 novembre 2010 ok, j'ai donc moi aussi la même chose :P j'ai moi aussi constaté un problème quasiment similaire avec le broadcast android.intent.action.PACKAGE_INSTALL Lien vers le commentaire Partager sur d’autres sites More sharing options...
Antares Posté(e) 16 novembre 2010 Auteur Share Posté(e) 16 novembre 2010 Je n'avais même pas essayé celui là. Du coup ça me fait ça en moins à tester. :) Cela dit, j'ai jeté un coup d'oeil aux autres intents et je n'en vois pas qui puisse satisfaire ma requête... Serai-je devant une limitation du système ? :P Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 16 novembre 2010 Share Posté(e) 16 novembre 2010 J'ai bien l'impression qu'une application n'est pas prévenue quand: - On l'installe pour la première fois (la mise à jour ça marche) - Elle est de nouveau disponible si la carte SD est montée. Pour le dernier point, je pense que app2sd va disparaitre, car les téléphones ont de plus en plus de mémoire interne. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 17 novembre 2010 Share Posté(e) 17 novembre 2010 Peux tu essayer de jouer sur la "priority" de ton IntentFilter? Essaye une valeur comme -1000 ou 1000 ça se déclare dans ton fichier AndroidManifest.xml Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.