Android 浏览器 Intent 过滤器不起作用

Android Browser Intent Filter Won't Work

我正在尝试使用以下 link.

下载 .XM 文件
http://api.modarchive.org/downloads.php?moduleid=50479#ngs_cvrg.xm

这是我的清单中的一个片段:

<application
        <activity
...
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
                        <intent-filter>
                          <action android:name="android.intent.action.VIEW" />
                          <action android:name="android.intent.action.EDIT" />
                          <category android:name="android.intent.category.DEFAULT" />
                        <data android:mimeType="application/octet-stream" />
                        <data android:host="*" />
              <data android:pathPattern=".*\.xm" />
                        </intent-filter>
                        <intent-filter>
                          <action android:name="android.intent.action.VIEW" />
                          <action android:name="android.intent.action.EDIT" />
                          <category android:name="android.intent.category.DEFAULT" />
                          <data android:mimeType="application/mytestapp" />
                          <data android:host="*" /> 
              <data android:pathPattern=".*\.xm" />
                        </intent-filter>            
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="file" />
                <data android:pathPattern=".*\.xm" />
                <data android:host="*" />
                <data android:mimeType="text/plain"/>
            </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:scheme="http" />
                        <data android:mimeType="*/*" />
                        <data android:pathPattern=".*\.xm" />
                        <data android:host="*" />
                    </intent-filter>            
                    </activity>

下面是我的代码片段,没有被调用:

  @Override
  protected void onCreate( Bundle savedInstanceState )
  {
    CheckForBrowserActivation();
  }


  public void CheckForBrowserActivation()
  {
    Intent intent = getIntent();
    String sData  = intent.getDataString();
    ContextActivity.LogDebugf( "Intent [%s] Data[%s]\n", intent.getAction(), sData );

    if( Intent.ACTION_VIEW.equals( intent.getAction() ) )
    {
      ContextActivity.LogDebugf( "BROWSER, ACTION_VIEW\n" );

有人可以告诉我为什么 Intent 过滤器对此不起作用吗 link?

我已经成功地将相同的代码和类型的意图过滤器用于 m3u 播放列表等

更新:

我现在正在尝试接收任何 application/octet-stream link,但我无法让我的应用程序接收这些带有 link 的意图。我已经尝试了 "http" 和 "file" 两种方案,但都不起作用。我已经删除了所有的意图过滤器,所以我现在只有一个(见下文)。为什么这行不通?

<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:scheme="http" />
  <data android:host="*" />              
  <data android:mimeType="application/octet-stream" />
</intent-filter>
http://api.modarchive.org/downloads.php?moduleid=50479#ngs_cvrg.xm

这个URL的文件扩展名是.php

<data android:pathPattern=".*\.xm" />

这个pathPattern的文件扩展名是.xm。这与您的 URL.

不符