2010-03-21 4 views
3

J'ai une application qui acceptera les URL du navigateur Web intégré via l'élément de menu «Partager la page». J'utilise l'intention d'envoi et cela fonctionne très bien. Cependant, je voudrais accepter une URL et la traiter en arrière-plan sans mettre mon application à l'avant. Je ne veux pas que l'utilisateur quitte réellement le navigateur Web. Il informera l'utilisateur qu'il a fini de traiter l'URL avec un message Toast. Je ne suis pas sûr du type d'activité qui devrait être utilisé pour cela.Lien de partage - Effectuer une action en arrière-plan

Un bon exemple de ce comportement est l'application instapaper "Read Later" sur le marché android. Toute aide serait grandement appréciée.

Répondre

2

AFAIK, ACTION_SEND ne fonctionne que pour des activités, pas des services. Par conséquent, vous devrez créer une activité qui partage des choses. Cependant, si tout ce que vous faites est l'affichage d'une Toast et aucune interface d'activité réelle, vous pouvez utiliser Theme.NoDisplay pour supprimer l'interface utilisateur de l'activité autrement vide d'apparaître:

<activity android:name="TwitterSender" 
     android:label="@string/sender_name" 
     android:theme="@android:style/Theme.NoDisplay"> 
    <intent-filter android:label="@string/sender_name"> 
     <action android:name="android.intent.action.SEND" /> 
     <data android:mimeType="text/plain" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 

Vous pouvez voir l'exemple complet de cette technique dans one of my book samples.

+0

Merci, c'est exactement ce que je voulais! – Justin

1

Vous devez implémenter un service d'arrière-plan qui notifie votre application une fois qu'il a terminé le traitement de l'URL.

Questions connexes