1

我有一个我一直在开发的应用程序,它具有将 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确实)。

有任何想法吗?

4

1 回答 1

1

弄清楚了。

我最终没有以编程方式做任何错误,但碰巧兄弟应用程序不读取html。它接收网页的 URL,并对其进行图像捕获以进行打印预览。

我的解决方案是获取我的 html 文件,而不是将其直接发送到兄弟应用程序,而是将其上传到网络托管服务,并将页面的 URL 发送到意图中的兄弟打印应用程序。

如果他们有解释这一点的文件:|

于 2013-08-07T20:01:25.593 回答