我正在尝试为我的应用程序创建文件关联。我在清单中的活动中添加了以下意图过滤器:
<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日志行来查找。