我有一个正在使用的应用程序,该应用程序具有将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确实如此)。

有任何想法吗?

最佳答案

弄清楚了。

我并没有在编程上做任何错误,但是恰好发生在兄弟应用程序不读取html的情况下。它获取网页的URL,并对其进行图像捕获以进行打印预览。

我在这里的解决方案是获取我的html文件,而不是将其直接发送到Brother应用程序,而是将其上传到网络托管服务,然后将页面的URL发送到该目的的Brother打印应用程序。

如果只有他们有解释此问题的文档:

关于android - Android-通过 Intent 发送html文件以打印应用程序,不会显示为html,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18091296/

10-12 17:30
查看更多