我正在开发一款应该调用Android HP ePrint应用程序进行无线打印的Android应用程序。为此,我正在使用代码:
Intent intent = new Intent("com.hp.android.print.PRINT"); intent.setPackage("com.hp.android.print"); startActivityForResult(intent, 0);
我很确定我的意图没有得到正确的行动......是否有人知道调用此HP ePrint应用程序的正确操作是什么?我怎样才能将确切的文件传递给print(intent.putExtra(...))。
由于
答案 0 :(得分:13)
经过10多个小时,我找到了解决方案。调用HP ePrint应用程序的正确代码如下:
Uri uri = Uri.fromFile( f ); Intent intent = new Intent ("org.androidprinting.intent.action.PRINT"); intent.setDataAndType( uri, "text/plain" ); context.startActivityForResult(intent, 0);
答案 1 :(得分:1)
在我的android 5.0.1应用程序创建了JPEG文件后,我使用以下代码开始无线打印操作(通过HP ePrint 3.4版):
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
Uri uri = Uri.fromFile(new File("something.jpg"));
intent.setDataAndType(uri, "image/*");
activity.startActivity(intent);
代码干净利落,但每次打印时我都要手动将纸张尺寸设置为“A4”,将纸张类型设置为“普通”。 (默认为“照片”。)
我对如何将Intent参数传递给HP ePrint的文档非常感兴趣。