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

Is it possible for an Application to consume any Rss feed subscription request?

我正在开发一个 Android 应用程序,它将 "harvest" Rss 订阅,无论用户选择什么,例如来自 Android 设备内安装的网络浏览器等。

我认为所需要的只是在我的应用程序清单文件中定义正确的意图过滤器

我有以下

 <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 提要 link 时

http://www.tandfonline.com/action/showFeed?ui=0&mi=hph1f7&ai=109&jc=naqi20&type=etoc&feed=rss

提要在 Chrome 内立即打开。

我的申请被忽略,因为 "target" 可能 link。

我的应用程序是否可以像这样向 "consume" link 注册其可用性?

我需要什么 Intent 过滤器?

Is it possible for my application to register its availability to "consume" links such as this?

不普遍。让我们回顾一下您当前的 <intent-filter> 与此 URL 相关的设置:

  • URL 没有 rssfeed 方案。 AFAIK,这些都不是特别常见的方案。

  • URL 的路径是 /action/showFeed,它与您的任何 pathPattern 值都不匹配。提要没有标准化路径。

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