应用程序是否可以使用任何Rss订阅源订阅请求?

时间:2018-02-14 13:01:34

标签: android rss intentfilter

我正在开发一个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过滤器?

1 个答案:

答案 0 :(得分:1)

  

我的应用程序是否可以将其可用性注册到&#34;使用&#34;像这样的链接?

不是普遍的。让我们回顾一下您对此网址的当前<intent-filter>设置:

  • 该网址没有rssfeed方案。 AFAIK,这些并不是特别常见的方案。

  • 网址的路径为/action/showFeed,与您的pathPattern值不匹配。饲料没有标准化的路径。

  • 此服务器使用MIME类型application/xml(使用curl -v测试),该类型有效但相当通用。您可以将该MIME类型添加到您的名单中,但您将成为其他XML而非Feed的候选者。