我正在尝试为我的应用程序创建文件关联。我在清单中的活动中添加了以下意图过滤器:

            <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/zip" />
                <data android:mimeType="application/x-compressed" />
                <data android:mimeType="application/x-zip-compressed" />
                <data android:mimeType="application/x-zip" />
                <data android:mimeType="application/octet-stream" />
                <data android:pathPattern=".*\\.zip" />
            </intent-filter>


现在,当我使用默认的Android浏览器并下载一个zip文件时,完成后,我可以在通知栏中点按下载的文件,它将列出我的应用程序(共3个选项),以打开它。不幸的是,在通知栏中单击下载的项目后,该项目从那里消失了。因此,我打开“我的文件”应用程序并转到下载文件夹。但是,选择zip文件时会说没有与该文件类型相关的应用程序。

这是Android(或三星)随附的“我的文件”应用程序中的错误,还是我需要添加替代的意图过滤器?

最佳答案

尝试添加以下过滤器:

        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="content"  android:host="*" android:pathPattern=".*\\.zip" android:mimeType="*/*"  />
            <data android:scheme="file"  android:host="*" android:pathPattern=".*\\.zip" android:mimeType="*/*"  />
        </intent-filter>


该方案可能是内容或文件。您可以通过在调试器中查找ActivityManager日志行来查找。

10-07 19:35
查看更多