我正在开发一个Android应用程序,无论用户选择哪一个,都会“收获”Rss订阅,例如:从Android设备内部安装了Web浏览器等。
我认为所需要的只是在我的应用程序清单文件中定义正确的intent过滤器
我有以下
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="feed" />
<data android:scheme="rss" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="*"
android:pathPattern=".*xml"
android:scheme="http" />
<data
android:host="*"
android:pathPattern=".*feed=rss"
android:scheme="http" />
<data
android:host="*"
android:pathPattern=".*feed=atom"
android:scheme="http" />
<data
android:host="*"
android:pathPattern=".*feed=rdf"
android:scheme="http" />
<data
android:host="*"
android:pathPattern=".*feed.*"
android:scheme="http" />
<data
android:host="*"
android:pathPattern=".*rss.*"
android:scheme="http" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:mimeType="text/xml"
android:scheme="http" />
<data
android:mimeType="application/rss+xml"
android:scheme="http" />
<data
android:mimeType="application/rdf+xml"
android:scheme="http" />
<data
android:mimeType="application/atom+xml"
android:scheme="http" />
</intent-filter>
当我测试点击我的测试设备上Chrome中的以下RSS提要链接时
http://www.tandfonline.com/action/showFeed?ui=0&mi=hph1f7&ai=109&jc=naqi20&type=etoc&feed=rss
Feed会立即在Chrome中打开。
我的应用程序被忽略为此链接的可能“目标”。
我的应用程序是否可以将其可用性注册为“消费”这样的链接?
我需要哪些Intent过滤器?
答案 0 :(得分:1)
我的应用程序是否可以将其可用性注册到&#34;使用&#34;像这样的链接?
不是普遍的。让我们回顾一下您对此网址的当前<intent-filter>
设置:
该网址没有rss
或feed
方案。 AFAIK,这些并不是特别常见的方案。
网址的路径为/action/showFeed
,与您的pathPattern
值不匹配。饲料没有标准化的路径。
此服务器使用MIME类型application/xml
(使用curl -v
测试),该类型有效但相当通用。您可以将该MIME类型添加到您的名单中,但您将成为其他XML而非Feed的候选者。