Android 打开文件关联

Android Open File Associations

我可以在访问浏览器链接时毫无问题地打开自定义文件扩展名。如何在我的设备上将我的应用程序与本地文件扩展名相关联?

具体来说,我想: 1) 打开一个已下载的文件 - 我将通知屏幕从我的显示器顶部拖到其中,其中列出了最近下载的 .xm 文件。我希望能够点击这些文件并让我的应用程序打开这些文件。

2) 如果可能,与其他文件浏览器应用程序类似。

这是我的意图过滤器。我错过了什么?

    <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" />
        <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> 

更新:见下方过滤器

    <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"
            android:host="*" 
            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/mytype"
            android:host="*" 
            android:pathPattern=".*\.xm"
        />

这个post帮我解决了问题。我在原始问题中包括了上面所需的意图过滤器。