2016-03-03 122 views
3

我在尋找使該打印HTML代碼片段與較舊的Android版本向後兼容的一種簡單的方法(API 18日之前):的Android HTML代碼打印

@TargetApi(Build.VERSION_CODES.KITKAT) 
private void createWebPrintJob(WebView webView) { 

    // Get a PrintManager instance 
    PrintManager printManager = (PrintManager) getSystemService(Context.PRINT_SERVICE); 

    // Get a print adapter instance 
    PrintDocumentAdapter printAdapter = webView.createPrintDocumentAdapter(); 

    // Create a print job with name and adapter instance 
    String jobName = getString(R.string.app_name) + " Document"; 
    PrintJob printJob = printManager.print(jobName, printAdapter, new PrintAttributes.Builder().build()); 

    // Save the job object for later status checking 
    mPrintJob = printJob; 
} 

這個工作從Android的19(包 - 凱特),但我需要一些以前的版本也工作。

我不需要從互聯網下載和打印網頁,我已經有了HTML代碼作爲一個字符串,我在web視圖中顯示(如你可以在代碼中看到的)。

在Android 19之前是否有打印HTML代碼的簡單方法?

在此先感謝!

+1

AFAIK否,除非您爲安裝適當的打印機驅動程序後可以通過'Linux'打印的定製基於Android的設備開發應用程序... – Onik

回答

1

在Kitkat之前,沒有Android API支持打印。在2016年的谷歌I/O printing training中,開發者提到在Kitkat之前,你唯一的印刷方式是「把它扔到牆上」。也就是說,發送一個意圖,並希望用戶有合適的應用程序進行打印。查看this question,瞭解提供打印的應用程序示例(HP ePrint和Google雲打印)。