我想要通过我的应用程序打开自定义扩展文件(* .xyz)。在应用程序清单文件中,我写了以下内容:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="http" android:host="*" android:pathPattern=".*\\.xyz" />
<data android:scheme="https" android:host="*" android:pathPattern=".*\\.xyz" />
<data android:scheme="content" android:host="*" android:pathPattern=".*\\.xyz" />
<data android:scheme="file" android:host="*" android:pathPattern=".*\\.xyz" />
</intent-filter>
之后,我将在设备上安装我的应用程序,并将包含Sample.xyz
邮件的邮件作为附件发送。当我尝试在邮件客户端中点击附件以打开附件时,它将出现一个名为
No app can open this attachment for viewing
即使我下载附件然后尝试打开它,它也会出错
Can't open file
有人可以建议可能出现的问题吗?
答案 0 :(得分:2)
您的过滤器不匹配,因为它不是同时的http https文件和内容 - 您需要不同的<intent-filter>
&#39; s,请查看此处:
https://github.com/ligi/PassAndroid/blob/master/src/main/AndroidManifest.xml
并且只为* .pkpass执行我为* .xyz所做的事情,如此:
<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:host="*"
android:pathPattern=".*\\.xyz"
android:scheme="http" />
</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:host="*"
android:pathPattern=".*\\.xyz"
android:scheme="https" />
</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:host="*"
android:pathPattern=".*\\.xyz"
android:scheme="file" />
</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:host="*"
android:pathPattern=".*\\.xyz"
android:scheme="content" />
</intent-filter>