Frage

Ich möchte meiner Android 2.2 -Anwendung, die für das Galaxy -Tablet ausgerichtet ist, einen drahtlosen Druck hinzufügen. Ich sehe, dass der Internetbrowser eine Druckoption hat, daher gehe ich davon aus, dass ein Aktivitätshaken existieren muss, und ich hatte gehofft, dass jemand dies herausgefunden hat. Ich habe die Möglichkeit mit der Printershare -Anwendung von Mobile Dynamix gefunden, aber meine Präferenz wäre, keine Drittanbieter zu erfordern.

Hier ist das Code -Beispiel, das sie bereitstellen, nur als Referenz.

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

Wo:

Data_uri - URI des zu druckenen Objekts wie "Datei: ///sdcard/something.pdf" oder "content: // etwas"

Data_Type - MIME -Typ. Die folgenden MIME -Typen werden unterstützt: "Anwendung/PDF" "Text/HTML" "Text/Plain" "Bild/PNG" "Bild/JPEG"

War es hilfreich?

Lösung

Das Druck wird noch nicht auf Android unterstützt. Sie müssen eine Drittanbieterlösung wie Mobiledynamix verwenden. HP iprint für Android oder Send2printer.

Absichten werden hier beschrieben:

http://www.openintents.org/en/node/735

http://www.openintents.org/en/node/278

Andere Tipps

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

Sie müssen einstellen

urlToPrint = "whatUrlToPrint"
docName = "anyDocumentName";
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top