每次用户访问浏览器中的xml(特别是rss)页面时,我都会运行一个活动(至少假设用户从可以支持它的应用程序列表中获取它)。
我目前已经有了当前的意图过滤器:
<activity android:name=".activities.EpisodesListActivity"
android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<category android:name="android.intent.category.BROWSABLE"></category>
<category android:name="android.intent.category.DEFAULT"></category>
<action android:name="android.intent.action.VIEW"></action>
<data android:scheme="http"></data>
</intent-filter>
</activity>
现在你可以猜到,这是一个邪恶的意图,因为它想要在通过http请求页面时打开。但是,当我发布这条线时:
<data android:mimeType="application/rss+xml"></data>
制作它:
<activity android:name=".activities.EpisodesListActivity"
android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<category android:name="android.intent.category.BROWSABLE"></category>
<category android:name="android.intent.category.DEFAULT"></category>
<action android:name="android.intent.action.VIEW"></action>
<data android:scheme="http"></data>
<data android:mimeType="application/rss+xml"></data>
</intent-filter>
</activity>
该应用程序不再声称能够运行rss文件。
另外,如果我将行更改为:
<data android:mimeType="application/xml"></data>
它也不起作用(甚至对于通用xml文件)。
因此,为了宣称活动支持rss,我需要制作什么样的过滤器。
(另外,如果你能告诉我我怎么知道用户打开的是什么网址,还有奖励积分。到目前为止,我总是使用附加内容将这些信息从一个活动发送到另一个活动。)
感谢您的帮助
答案 0 :(得分:1)
尝试将此作为您的意图过滤器
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:mimeType="application/rss+xml" />
<data android:mimeType="application/atom+xml" />
<data android:mimeType="application/xml" />
<data android:mimeType="text/xml" />
</intent-filter>