【发布时间】:2011-12-29 06:07:02
【问题描述】:
我需要使用我的应用程序打印图像。我需要一个phonegap插件。这只是浏览器的命令window.print(),但我不确定它是如何用于移动应用程序的。对此有何建议?
如果我们在设备上配置了打印机,是否可以?
【问题讨论】:
-
从字面上看,您应该使用多个问号“?”来结束一个句子。请永远停止这样做,它不会增加重点或使您的问题更多成为问题,只会使您的写作看起来很幼稚。
我需要使用我的应用程序打印图像。我需要一个phonegap插件。这只是浏览器的命令window.print(),但我不确定它是如何用于移动应用程序的。对此有何建议?
如果我们在设备上配置了打印机,是否可以?
【问题讨论】:
可以实现SEND 意图以与打印应用程序共享它。
编辑(您的应用将与之“共享”的打印应用程序列表):
https://market.android.com/details?id=com.dynamixsoftware.printershare
https://market.android.com/details?id=com.hp.android.print
https://market.android.com/details?id=jp.co.canon.bsd.android.aepp.activity
仅举几例。这确实是目前人们期望打印的唯一合理方式。尽管引入了 Android 的 USB Host 支持,但在未来,Linux 打印机驱动程序可能会进入 Android 并允许通过插入 USB 从许多打印机进行即插即用打印。
您至少需要:
<activity android:name=".ShareActivity">
<intent-filter
android:label="Share with my app">
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
在您的清单中...这至少会使其显示在“共享”列表中。
如何从您显示的页面发送数据取决于您要导出/打印的内容。
如果是你想分享的图片,就像你说的:
http://sudarmuthu.com/blog/sharing-content-in-android-using-action_send-intent
会有所帮助。基本上对于图像,它看起来像:
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
Uri screenshotUri = Uri.parse(path);
sharingIntent.setType("image/png");
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
startActivity(Intent.createChooser(sharingIntent, "Share image using"));
希望这是一个有效的解决方案,比浏览器的window.print() 复杂得多:-(
现在,就PhoneGap而言:
Phonegap - Share functionality to Email, Twitter and Facebook
和
http://smus.com/android-phonegap-plugins
应该有助于理解它对共享的使用。
和
http://www.ryangillespie.com/downloads/SharePlugin.java
是一个实际的 PhoneGap 插件示例,用于分享。
【讨论】:
这是可能的,有一个phonegap插件,它需要应用程序send2printer或printershare,两者都在市场上可用。 链接是: https://github.com/EionRobb/phonegap-print-plugins
【讨论】: