2011-01-02 8 views
7

Me gustaría agregar impresión inalámbrica a mi aplicación Android 2.2 que está dirigida a la tableta Galaxy. Veo que el navegador de Internet tiene una opción de impresión, así que estoy asumiendo que debe existir un gancho de actividad, y esperaba que alguien lo descubriera. He encontrado una posibilidad de usar la aplicación PrinterShare de Mobile Dynamix, pero mi preferencia sería no requerir un tercero.API de impresión de Android en Galaxy Tab

Aquí está el ejemplo de código que proporcionan, solo como referencia.

Intent i = new Intent(Intent.ACTION_VIEW); 
i.setPackage("com.dynamixsoftware.printershare"); 
i.setDataAndType(data_uri, data_type); 
startActivity(i); 

Dónde:

data_uri - URI del objeto de impresión, como "file: ///sdcard/something.pdf" o "contenido: // algo"

data_type - Tipo MIME. Los siguientes tipos MIME son compatibles: "application/pdf" "text/html" "text/plain" "image/png" "image/jpeg"

+0

Adición de etiquetas "impresión" –

Respuesta

0

Uso construir en PrintManager Servicio

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()); 
    } 

que necesita para establecer

urlToPrint = "whatUrlToPrint" 
docName = "anyDocumentName"; 
Cuestiones relacionadas