mar*_*lar 11 android android-intent
我正在开发一个可以从某些网页中提取信息的应用程序.我们的想法是,当用户位于浏览器中的特定网址路径中并按下共享按钮时,我的应用将显示在接收方应用列表中.
通过将其添加到清单中,我可以轻松地做到这一点:
<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>
Run Code Online (Sandbox Code Playgroud)
但是,这将使我的应用程序出现在所有网址的列表中,也是所有那些无关的地方.相反,我希望应用程序只在这些网址中出现在选择器中:
www.example.com/foo/bla.html
www.example.com/foo/bar/blabla.html
但不是从这些:
www.example.com
www.foobar.com
等等.只能在某个主机上的某个路径内.另请注意,当用户点击符合条件的链接时,我不希望启动我的应用.它只应从共享菜单中调用.
所以我的问题是:如何限制我的应用程序出现在意图中仅选择某些网址?
将以下过滤器添加到目标 Activity .. 1.托管您的站点名称。2.您网站http或https的scheme方案。3.您的应用程序应显示的文件路径的路径。
<intent-filter>
<data
android:host="www.example.com"
android:scheme="http"
android:path="/foo/bla.html"
/>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" >
</category>
<category android:name="android.intent.category.BROWSABLE" >
</category>
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1394 次 |
| 最近记录: |