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帮我解决了问题。我在原始问题中包括了上面所需的意图过滤器。
我可以在访问浏览器链接时毫无问题地打开自定义文件扩展名。如何在我的设备上将我的应用程序与本地文件扩展名相关联?
具体来说,我想: 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帮我解决了问题。我在原始问题中包括了上面所需的意图过滤器。