2

我的问题是如何在Manifest文件中正确指定处理不同MIME类型的Activity。我试图创建一个Activity,将处理不同的档案,所以我把它添加到舱单这样的:多种MIME类型的意图过滤器

<activity 
    android:name=".activity.ArchiveActivity" 
    android:label="@string/title_activity_archive" > 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW" /> 

     <category android:name="android.intent.category.DEFAULT" /> 

     <data android:mimeType="application/zip" /> 
     <data android:mimeType="application/gzip" /> 
     <data android:mimeType="application/x-tar" /> 
     <data android:mimeType="application/java-archive" /> 
    </intent-filter> 
</activity> 

不幸的是,这仅适用于.zip文件。例如,当我尝试从另一个应用程序打开.jar存档时,它会告诉我它无法找到正确的应用程序。提前致谢。

编辑事实证明,Android无法理解后三种MIME类型,所以我认为无法在Android中使用Intents打开.jar文件。

+0

每个MIME类型 – njzk2

+0

@ njzk2我会定义一个意向过滤器,这也不起作用,同样的行为观察。 – Egor

+0

你能回答你自己的问题,然后接受你的答案。这样,这个问题就没有出现在“未答复”列表中。谢谢! –

回答

1

尝试是这样的:

<intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 

    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:mimeType="application/zip" /> 
</intent-filter> 
<intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 

    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:mimeType="application/gzip" /> 
</intent-filter> 
<intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 

    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:mimeType="application/x-tar" /> 
</intent-filter> 
<intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 

    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:mimeType="application/java-archive" /> 
</intent-filter> 
相关问题