I would like to add wireless printing to my android 2.2 application which is targeted for the Galaxy tablet. I see that the internet browser has a print option so I am assu
Use build in PrintManager Service
private void doWebViewPrint() {
mWebView = new WebView(PrintActivity.this);
WebSettings settings = mWebView.getSettings();
settings.setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
@Override
public void onPageFinished(WebView view, String url) {
mProgressBar.setVisibility(View.GONE);
createWebPrintJob(view);
mWebView = null;
}
});
mWebView.loadUrl(urlToPrint);
}
protected void createWebPrintJob(WebView webView) {
PrintManager printManager = (PrintManager) getSystemService(Context.PRINT_SERVICE);
@SuppressWarnings("deprecation")
PrintDocumentAdapter printAdapter = webView.createPrintDocumentAdapter();
mPrintJob = printManager.print(docName, printAdapter,
new PrintAttributes.Builder().build());
}
you need to set
urlToPrint = "whatUrlToPrint"
docName = "anyDocumentName";
Printing is not yet supported on Android. You have to use a 3rd party solution like Mobile Dynamix, HP iPrint for Android or Send2Printer.
Intents are described here:
http://www.openintents.org/en/node/735
http://www.openintents.org/en/node/278