2013-03-28 88 views
5

我正在開發一個應用程序,該應用程序應該調用android hp ePrint應用程序進行無線打印。爲此,我使用代碼:調用HP ePrint Android應用程序

Intent intent = new Intent("com.hp.android.print.PRINT"); 
intent.setPackage("com.hp.android.print"); 

startActivityForResult(intent, 0);

我敢肯定,我沒有意圖的行動的權利... ...有誰知道什麼是調用此HP ePrint的應用正確的行動?我怎樣才能傳遞確切的文件來打印(intent.putExtra(...))。

謝謝

回答

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

這不起作用(了?)。它使NullPointerException異常崩潰HP ePrint – CAA

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」及紙張類型設置爲「普通」。 (它默認爲'photo')。

我對如何將Intent參數傳遞給HP ePrint的文檔非常感興趣。

+0

如果還有其他問題,請通過單擊[Ask Question](問問題)(// stackoverflow.com/questions/ask)按鈕來提問。 – manetsus