3

我希望我的服务可以作为Share page用户长按 Web 链接(标准 android 功能)时的默认选项之一进行访问。这是我在清单文件中写的:

<service android:name=".ShareLink"
            android:enabled="true">
    <intent-filter>
        <action android:name="android.intent.action.SEND" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="text/plain" />
    </intent-filter>
</service>

但它仍然没有显示出来。我究竟做错了什么?PS 当我对 Activity 做同样的事情时 - 它工作正常。

4

2 回答 2

7

这是不可能的,您必须编写一个虚拟活动来执行此操作。

这是因为,ResolverActivity显示名称或选择要启动的适当组件通过查询只有Activities与 API 匹配的意图 来获取列表PackageManager.queryIntentActivities

于 2012-09-04T11:15:59.663 回答
0

这应该这样做:

<intent-filter
    android:label="Open Using My Service">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:scheme="http" />
</intent-filter>
于 2012-09-04T11:11:34.433 回答