Aller au contenu

Problème avec Intent EXTERNAL_APPLICATIONS_AVAILABLE


Antares

Recommended Posts

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

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

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

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

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

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

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...