我目前有一个具有以下intent-filter的Activity类:
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.LAUNCHER" />
<data android:mimeType="image/*"></data>
</intent-filter>
这会导致我的应用程序显示在Gallery的Share-Via菜单中。这一切都很好。
现在,我实际上并不需要将它作为Activity,因为它不需要用户交互。相反,我想将它变成一个由Gallery中的Share-Via菜单以相同方式启动的服务。所以我将intent-filter移到了“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>
但是,现在我不再在Share-Via菜单中看到该应用了!这是为什么?如何更改以在Share-Via菜单中列出服务?
答案 0 :(得分:5)
这是因为当用户点击“共享”菜单项时,Android会调用startActivity()
方法。您可以创建透明活动并从中启动服务。