【发布时间】:2014-05-10 14:04:22
【问题描述】:
我正在开发一个可以从某些网页中提取信息的应用程序。这个想法是,当用户在浏览器中的特定 url 路径中并按下共享按钮时,我的应用程序将显示在接收器应用程序列表中。
我可以通过将其添加到清单中轻松做到这一点:
<intent-filter android:label="@string/app_name" >
<action android:name="android.intent.action.SEND" />
<data android:mimeType="text/plain" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
但是,这将使我的应用出现在所有 url 的列表中,以及所有与它无关的那些。相反,我希望应用程序仅从这些 url 出现在选择器中:
www.example.com/foo/bla.html
www.example.com/foo/bar/blabla.html
但不是来自这些:
www.example.com
www.foobar.com
等等。 IE。仅来自某个主机上的某个路径内。另请注意,当用户单击符合条件的链接时,我不希望我的应用程序启动。它只能从共享菜单中调用。
所以我的问题是:如何限制我的应用显示在仅针对某些网址的意图选择中?
【问题讨论】:
-
您是否可以在这些 URL 上创建子域?喜欢 bla.example.com?
-
不,这不是一个选项。
-
您有权随心所欲地投票,但我看不出对您得到的每个答案都投反对票的逻辑。它不鼓励其他人回答,即使您不喜欢事实,CommonsWares 的回答也是信息丰富且正确的,而 Dharanis 的回答是最接近合理的解决方案
-
你为什么说我对我得到的每一个答案都投反对票?这可能是我曾经否决过的我自己的一个问题的第一个答案。而且我没有否决当前的答案。我投反对票的那个很粗鲁,但 CommonsWare 在此期间对其进行了修改并使其变得更好。所以我删除了反对票。我想补充一点,我通常喜欢 CommonsWare 的答案,但坦率地说,这个答案很粗鲁。但现在没有了。