[FIXED] Chrome WebView: Auslösen der nativen Android Share-Funktion

Ausgabe

Ist es möglich, die native Freigabefunktion (Datei) von Android in Chrome WebView aufzurufen? Ich erstelle eine hybride Ionic AngularJS-App und möchte die native Freigabefunktion von Android für Dateien verwenden. Ich habe verschiedene Plugins ausprobiert, aber alle verwenden eine benutzerdefinierte Freigabeimplementierung für jede der auf dem Gerät vorhandenen Apps, was nicht ausreicht.

Lösung

Hast du es versucht, eine zu machenJavascriptInterface

Fügen Sie dies in Ihrer hinzuMainActivity.java

public class WebViewJavaScriptInterface {
        private Context context;

        @JavascriptInterface
        public void sharingIsCaring(String code) {
            openSharing(code);
        }
}

Dies ist die Aktion, die das Teilen startet:

public void openSharing(String code) {
        String message = "Your share message: " + code;
        Intent share = new Intent(Intent.ACTION_SEND);
        share.setType("text/plain");
        share.putExtra(Intent.EXTRA_TEXT, message);
        startActivity(Intent.createChooser(share, "Share your code"));
    }

Also, wie löst man das aus@JavascriptInterface

Sie müssen dies in Ihrer OnCreate()Methode hinzufügen:

view.addJavascriptInterface(new WebViewJavaScriptInterface(this), "SmashIt");

Um es also vom JS auszulösen, müssen Sie nur die Funktion aufrufensharingIsCaring()

Sie müssen dies tun, indem SmashItSie für die Funktion, die Sie anrufen, platzieren, damit Android weiß, dass Sie ihn anrufen. Es wird also so aussehen:

SmashIt.sharingIsCaring(code)


Beantwortet von –
Steven


Antwort geprüft von –
Jay B. (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like