Antares Posted November 15, 2010 Share Posted November 15, 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> Link to comment Share on other sites More sharing options...
Pierre87 Posted November 16, 2010 Share Posted November 16, 2010 Il n'y a pas un "scheme" et un "package" à définir pour ce broadcast? Link to comment Share on other sites More sharing options...
Pierre87 Posted November 16, 2010 Share Posted November 16, 2010 en fait il semble que non, désolé :( Link to comment Share on other sites More sharing options...
Antares Posted November 16, 2010 Author Share Posted November 16, 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 :) Link to comment Share on other sites More sharing options...
Pierre87 Posted November 16, 2010 Share Posted November 16, 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 Link to comment Share on other sites More sharing options...
Antares Posted November 16, 2010 Author Share Posted November 16, 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 ;) Link to comment Share on other sites More sharing options...
Pierre87 Posted November 16, 2010 Share Posted November 16, 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 Link to comment Share on other sites More sharing options...
Antares Posted November 16, 2010 Author Share Posted November 16, 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 Link to comment Share on other sites More sharing options...
Pierre87 Posted November 16, 2010 Share Posted November 16, 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. Link to comment Share on other sites More sharing options...
Pierre87 Posted November 17, 2010 Share Posted November 17, 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 Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.