通过“android.intent.action.SEND”意图启动服务

3

我目前有一个Activity类,它具有以下意图过滤器:

        <intent-filter>
            <action android:name="android.intent.action.SEND"/>
            <category android:name="android.intent.category.LAUNCHER" />
            <data android:mimeType="image/*"></data>
        </intent-filter>

这会使我的应用程序在画廊的“分享”菜单中显示出来,这很好。
现在,实际上我并不需要它成为一个Activity,因为它不需要用户交互。相反,我想将其转化为一个服务,并通过画廊中的“分享”菜单以同样的方式启动。所以我已经将意图过滤器移动到“service”标签内部,如下所示:
    <service ...>
        <intent-filter>
            <action android:name="android.intent.action.SEND"/>
            <category android:name="android.intent.category.LAUNCHER" />
            <data android:mimeType="image/*"></data>
        </intent-filter>
      </service>

然而,现在我在“通过分享”菜单中再也找不到该应用程序了!这是为什么?我需要做哪些更改才能在“通过分享”菜单中列出该服务?
1个回答

5

这是因为当用户点击分享菜单项时,Android会调用startActivity()方法。您可以创建一个透明的活动并从中启动服务。


好的,我会选择那个。谢谢你的回答。 - user914453

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接