当用户长时间触摸网络链接(标准Android功能)时,我希望我的服务可以作为Share page
的默认选项之一进行访问。这是我在清单文件中写的:
<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>
但它仍未显示。我究竟做错了什么?附:当我对Activity做同样的事情时 - 它工作正常。
答案 0 :(得分:7)
这是不可能的,你必须写一个虚拟活动才能做到这一点。
这是因为,显示名称或选择要启动的相应组件的ResolverActivity
通过仅查询与API Activities
匹配意图的PackageManager.queryIntentActivities
来获取列表
答案 1 :(得分: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>