2011-01-02 16 views
7

Galaxyタブレットの対象となるAndroid 2.2アプリケーションにワイヤレス印刷を追加したいと思います。私は、インターネットブラウザには印刷オプションがあるので、アクティビティフックが存在しなければならないと仮定しているので、誰かがこれを理解したことを期待していました。私はMobile DynamixのPrinterShareアプリケーションを使用する可能性を発見しましたが、私の好みは第三者を必要としないことです。GalaxyタブのAndroid Printing API

ここでは、参照用に提供するコード例を示します。

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

どこ:

data_uri - 印刷するオブジェクトのウリは、そのような "ファイル:///sdcard/something.pdf" として、または "コンテンツ://何か"

DATA_TYPE - Mimeタイプ。次のMIMEタイプがサポートされています "アプリケーション/ PDF" "text/htmlの" "text/plainの" "画像/ PNG" "画像/ jpegの" 印刷がまだAndroidの上ではサポートされません

+0

を設定することは、タグ「印刷」 –

答えて

0

使用しPrintManagerサービスあなたが必要

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

に構築します

urlToPrint = "whatUrlToPrint" 
docName = "anyDocumentName"; 
関連する問題