打开特定文件类型的应用(来自电子邮件附件)

时间:2013-10-25 13:57:20

标签: android mime-types email-attachments

根据我的研究,支持文件类型应用过滤器到活动就足够了,

<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:scheme="https" android:host="*" android:pathPattern=".*\\.filetype"/>
          <data android:scheme="http" android:host="*" android:pathPattern=".*\\.filetype"/>
          <data android:scheme="file" android:host="*" android:pathPattern=".*\\.filetype"/>
          <data android:scheme="content" android:host="*" android:pathPattern=".*\\.filetype"/>
</intent-filter>

但它不适用于电子邮件附件。当尝试打开附件时,它只显示一条消息,表示找不到此文件类型的支持应用程序。

此剪切代码适用于电子邮件附件

<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:pathPattern=".*\\.fileType" />
                <data android:host="*" />
                <data android:mimeType="application/*" />
</intent-filter>

但是对于这个过滤器,我的应用程序出现在任何类型的文件类型中。

所以我的问题是,

1.使用我的应用打开电子邮件附件的正确方法是什么?因此myapp尝试仅针对特定文件类型打开。

1 个答案:

答案 0 :(得分:0)

您需要根据类型启动启动器默认值。

<meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.gosylvester.bestrides.ImageTextListViewActivity" />

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

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

            <data android:mimeType="application/vnd.google-earth.kml+xml" />
        </intent-filter>
    </activity>