我正在编写应用程序来打开 HTML 文件。在某些设备(如 Galaxy 播放器、nexus one)中,当我尝试从电子邮件客户端打开 html 文件时,我的应用程序未显示
“打开用”
使用“对话框打开,但如果我从 Gmail 客户端打开相同的 HTML 文件,我的应用程序将显示在
“打开用 ”
打开”对话框。在其他设备(如 Google nexus、S2 等)中,我可以通过电子邮件客户端、电子邮件客户端的应用程序打开 HTML 文件。这是设备特定的问题吗?
如果您的应用打开 .HTML 文件,则意图过滤器应如下所示:
<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=".*\\.html" />
<data android:mimeType="*/*" />
<data android:scheme="file" />
<data android:host="*" />
</intent-filter>
在某些设备中,电子邮件客户端未打开 mime 类型为 text/html.so 的应用程序,因此我进行了如下更改。
<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:mimeType="text/html"/>
<data android:mimeType="text/plain"/>
</intent-filter>
然后电子邮件应用程序能够在列表中显示我的应用程序。但它会在我们尝试打开 HTML/文本文件时显示。