I am trying to filter and handle intents with android.intent.action.SEND
actions in one of my Service
s. I wrote the following in my AndroidManifest.xml
:
<service
android:name=".app.ScreamerService"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="*/*"/>
</intent-filter>
</service>
Now, the problem is that I don't see my application in the list of "share via" options when, for instance, trying to share a web page from the browser or a contact from the list of contacts. If, however, I move the intent filters to the main <activity>
tag (instead of the <service>
), my application name and icon do appear on the list of "share via" options.
What am I doing wrong here? Can't a SEND
action be directed to a Service?
I am trying to filter and handle intents with android.intent.action.SEND actions in one of my services.
ACTION_SEND
is an activity action and therefore cannot be picked up by services or broadcast receivers.
Now, the problem is that I don't see my application in the list of "share via" options when, for instance,
That is because it is not an activity.
Can't a SEND action be directed to a Service?
Things that appear in a chooser (e.g.,. for ACTION_SEND
) must be activities. Your activity is welcome to communicate with a service, though.