我的Android应用程序的WebView内的navigator.share()
JavaScript函数不能正常工作吗?通过网络浏览器访问相同的URL时,将弹出本机Android共享对话框,但从我的应用程序的WebView访问URL时则不会。
setJavaScriptEnabled
设置为true
。setDomStorageEnabled
也设置为true
。答案 0 :(得分:0)
最终,我将以下设置用于Web视图。对我来说,不仅仅是navigator.share
,还有更多的东西,但是对我有用的东西可能对其他人有用。值得一试。
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
mWebView.getSettings().setAppCacheEnabled(false);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setAllowContentAccess(true);
mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);
mWebView.addJavascriptInterface(new JavaScriptShareInterface(this), "AndroidShareHandler");
AndroidShareHandler是一个全局JavaScript函数,可在Web视图中使用,并且可以通过例如单击按钮来触发。
shareButton.addEventListener('click', () => {
window.AndroidShareHandler.share('https://stackoverflow.com');
});