Angeben eines SEND (Freigabe) Intent-Filters für einen Service

8

Ich versuche Intents mit android.intent.action.SEND actions in einem meiner Service s zu filtern und zu verarbeiten. Ich schrieb folgendes in meinem AndroidManifest.xml :

%Vor%

Das Problem besteht nun darin, dass ich meine Anwendung nicht in der Liste der Optionen für "Freigabe über" sehe, wenn ich zum Beispiel versuche, eine Webseite vom Browser oder einem Kontakt aus der Kontaktliste zu teilen. Wenn ich jedoch die Intent-Filter in das Haupt-Tag <activity> (anstelle von <service> ) verschiebe, erscheinen mein Anwendungsname und das Symbol do in der Liste der Optionen "share via" / p>

Was mache ich hier falsch? Kann eine SEND -Aktion nicht an einen Dienst gerichtet werden?

    
smichak 18.06.2012, 14:20
quelle

2 Antworten

9
  

Ich versuche, Absichten mit android.intent.action.SEND Aktionen in einem meiner Dienste zu filtern und zu handhaben.

ACTION_SEND ist eine Aktivitätsaktion und kann daher nicht von Diensten oder Rundfunkempfängern empfangen werden.

  

Das Problem ist nun, dass ich meine Anwendung nicht in der Liste der Optionen "Freigabe über" sehe, wenn zum Beispiel

Das ist, weil es keine Aktivität ist.

  

Kann eine SEND-Aktion nicht an einen Dienst gerichtet werden?

Dinge, die in einer Auswahl angezeigt werden (z. B. für ACTION_SEND ) müssen Aktivitäten sein. Ihre Aktivität ist jedoch willkommen, mit einem Dienst zu kommunizieren.

    
CommonsWare 18.06.2012, 15:05
quelle
1

Das sollte aber funktionieren:

Probieren Sie zuerst einen Broadcast-Empfänger aus, um die Absicht zu erhalten und Ihren Dienst zu starten.

falls das nicht funktioniert:

Verwenden Sie eine Dummy-Aktivität ohne Layout. (Machen Sie das Thema durchscheinend und rufen Sie das Ziel direkt nach der Bearbeitung der Absicht auf.)

Auch Ihr Mime-Typ bedeutet, dass Sie jeden einzelnen Dateityp bearbeiten. ist das was du brauchst? Ich denke, du solltest es genauer in der Auswahl machen. Sie erhalten ein negatives Feedback, wenn jemand versucht, es mit einem Typ zu verwenden, den Sie nicht unterstützen. Mein Vorschlag ist, Typen zu testen und sie einzeln hinzuzufügen, da Sie sicher sind, dass Sie mit ihnen umgehen können.

    
DArkO 18.06.2012 14:45
quelle