2

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

            <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(或三星)附带的“我的文件”应用程序中的错误,还是我需要添加替代意图过滤器?

4

1 回答 1

1

尝试添加以下过滤器:

        <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 日志行来查找。

于 2015-10-18T17:26:10.700 回答