我有一个我一直在开发的应用程序,它具有将 html 文件发送到应用程序以进行打印的功能(有问题的应用程序是 Brother iPrint&Scan)。
执行此操作的代码如下
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Printable Stuff");
// Send attachment (the html file).
Uri uri = Uri.fromFile(htmlFile);
emailIntent.putExtra(android.content.Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(emailIntent, "Send To"));
这样做是带来了一个兼容的选择器。通常,这是 gmail 和兄弟 iPrint&Scan 应用程序。Gmail 会将它作为附件,我可以将其发送出去,它看起来很好。我可以在浏览器中查看它,html 标记看起来不错(并验证)。
现在问题来了……兄弟 iPrint&Scan 应用程序将获取 html 文件,但它只是将 html 显示为文本……奇怪。它根本不会渲染它。
更令人不安的是,我可以将浏览器中的页面共享到应用程序并且它会显示正常(所以它肯定可以读取和解析 html 吗?)
我在这里做错了吗?
我也试过:
emailIntent.setDataAndType(Uri.fromFile(htmlFile), "text/html");
而不是将额外内容放在意图中......但是兄弟打印应用程序根本不会出现在列表中(gmail确实)。
有任何想法吗?