我有一个自定义文件类型,扩展名为.myext
。 我已阅读Android文档和许多SO贴文,以了解如何配置意图过滤器将这些文件关联到我的应用程序。它的工作原理但不正确。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="application/*" />
<data android:pathPattern=".*\\.myext" />
<data android:host="*" />
</intent-filter>
然后它链接.myext
文件到我的应用程序,而且每一个没有应用assoiated文件。所以我可以打开我不想要的.otherext
文件。
然后我发现这个答案https://stackoverflow.com/a/5097734/575481这表明有多个意图过滤器,所以我得到:
<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="http" />
<data android:host="*" />
<data android:pathPattern=".*\\.myext" />
</intent-filter>
<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="http" />
<data android:host="*" />
<data android:mimeType="application/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
<data android:host="*" />
<data android:pathPattern=".*\\.myext" />
</intent-filter>
,但这似乎并没有为我工作。
我想要的是:我的应用程序只打开.myext文件。你有什么主意吗 ?
此外,我将需要打开一些其他文件分机(.myext1,.myext2),但我想一旦我得到适当的意图过滤器,我只需要复制它的其他扩展名,对吧?