首页 > 解决方案 > Kotlin:关联特定的文件扩展名以打开没有明确扩展名的“内容”文件

问题描述

在我的项目中,我希望我的应用程序打开自定义文件扩展名,例如“ .bla

我使用以下IntentFilter来执行此操作:

 <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="file" />
            <data android:scheme="content" />
            <data android:mimeType="application/*" />
            <data android:host="*" />
            <data android:pathPattern=".*" />
        </intent-filter>

这很好用,但问题是我的应用程序出现在任何文件类型的“打开方式”列表中 - 正如预期的那样,但我希望它只打开我的扩展名。

我不能使用显式扩展名“ .bla ”,因为如果我从 WhatsApp 打开一个bla文件,它将无法工作,因为该文件不会有其扩展名的普通路径,而是类似于“内容: //com.whatsapp.provider.media/item/03fda30df57e-c5e3a-46ea-6df67-fd23e4a3cb4fe '

因此,我将pathPattern用作.*而不是.*\\.bla之类的东西来使其工作

我应该怎么做才能解决这个问题并让我的应用程序只打开.bla扩展名

标签: androidfile-extension

解决方案


推荐阅读