根据我的研究,支持将过滤器应用于活动的文件类型应该就足够了,
<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 尝试仅针对特定文件类型打开。
您需要一个默认的启动器才能根据类型启动。
<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>