如何设置mime类型的自定义zip文件?

时间:2014-06-19 11:51:16

标签: android file mime-types intentfilter

在我的应用程序中,我在SD卡中创建了zip文件,并将其重命名为自定义扩展名,如

  

customzipfile.abc

我已经在清单文件中使用了以下代码,但它对我不起作用。我也提到了相关的链接,但它对我来说失败了。

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

每当我尝试获取mime类型时,它返回null

 String fileExtension= MimeTypeMap.getFileExtensionFromUrl(selectedUri.toString());
 String mimeType= MimeTypeMap.getSingleton().getMimeTypeFromExtension(fileExtension);

我还必须将此文件存储在Google云端硬盘上。每当我试图从驱动器获取文件列表时,我都无法使用IntentSender获取此文件。

IntentSender intentSender = Drive.DriveApi
                   .newOpenFileActivityBuilder()
                   .setMimeType(new String[] { "application/abc" })
                   .build(getGoogleApiClient());

如何设置mime类型?

1 个答案:

答案 0 :(得分:0)

如果设置MimeTypeMap不知道的自定义文件扩展名,则无法获取mimeType。它只是文件结尾和mimeTypes之间的映射。

如果您知道,唯一以.abc结尾的文件是您的zip文件,只需自己构建mimeType,或者使用getMimeTypeFromExtension()直接调用"zip"方法。