我试图在我写的应用程序中打开一个zip文件,但是当我在Galaxy S5上的My Files中浏览文件时,我的文件解压缩文件而不是打开应用程序。 / p>
如果我将扩展名更改为.upgradezip,则应用程序在传递给它的指定文件时没有问题,但是我的文件似乎完全忽略了intent过滤器并尝试解压缩文件,特别是在扩展名时。拉链
其他设备(包括LG平板电脑)可以使用我的应用程序打开.zip文件,使用与Galaxy S5相同的清单。
思考?以下是我的清单中的相关信息,我在过渡期间同时支持zip和upgradezip,但对于所有设备来说,它都非常适合使用zip。
<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:host="" android:scheme="content" android:pathPattern=".*\\.upgradezip" android:mimeType="application/octet-stream"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:host="" android:scheme="file" android:mimeType="*/*" android:pathPattern=".*\\.upgradezip"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.EDIT" />
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/octet-stream" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.EDIT" />
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/zip" />
</intent-filter>
答案 0 :(得分:2)
编写自己的文件浏览器。当您调用外部程序执行某些操作时,尤其是可以通过设备更改的外部程序时,您无法控制其工作方式。它认为当你点击拉链时最好的办法是打开它。你无法阻止它这样做。因此,如果您真的不希望它这样做,请不要使用该应用程序。强迫它不要的唯一方法就是自己编写。