Apakah mungkin, secara kebetulan untuk memanggil fungsi berbagi (file) asli Android dalam Chrome WebView? Saya sedang membuat aplikasi hybrid Ionic AngularJS, dan ingin menggunakan fungsi berbagi asli Android untuk file. Saya sudah mencoba plugin yang berbeda, tetapi semuanya menggunakan implementasi berbagi khusus untuk setiap aplikasi yang ada di perangkat, yang tidak cukup.

1
Milos 28 November 2017, 03:33

1 menjawab

Jawaban Terbaik

Apakah Anda mencobanya untuk membuat JavascriptInterface

Tambahkan ini di MainActivity.java Anda

public class WebViewJavaScriptInterface {
        private Context context;

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

Ini adalah tindakan yang memulai berbagi:

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

Jadi, bagaimana Anda memicu @JavascriptInterface

Anda perlu menambahkan ini dalam metode OnCreate() Anda:

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

Jadi untuk memicunya dari JS Anda hanya perlu memanggil fungsi sharingIsCaring()

Anda perlu melakukannya dengan menempatkan SmashIt untuk fungsi yang Anda panggil sehingga Android akan tahu bahwa dialah yang Anda panggil. Jadi akan terlihat seperti ini:

SmashIt.sharingIsCaring(code)
1
joao2fast4u 21 Maret 2018, 17:26