Android navigator.share在WebView中不工作
在我的Android应用程序的WebView中,Android navigator.share在WebView中不工作,android,android-webview,navigator,Android,Android Webview,Navigator,在我的Android应用程序的WebView中,navigator.share()JavaScript函数不起作用有什么原因吗?通过web浏览器访问同一URL时,会弹出本机Android共享对话框,但从我的应用程序的WebView访问URL时不会弹出 URL正在使用https 共享操作由onClick用户触发 setJavaScriptEnabled设置为true setDomStorageEnabled也设置为true 最后,我对我的网络视图使用了以下设置。对我来说,它不仅仅是导航器.sha
navigator.share()
JavaScript函数不起作用有什么原因吗?通过web浏览器访问同一URL时,会弹出本机Android共享对话框,但从我的应用程序的WebView访问URL时不会弹出
- URL正在使用https
- 共享操作由onClick用户触发
设置为setJavaScriptEnabled
true
也设置为setDomStorageEnabled
true
导航器.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(), "AndroidShareHandler");
AndroidShareHandler将成为一个全局JavaScript函数,该函数将在webview中可用,并可通过单击按钮触发,例如:
爪哇:
JavaScript:
shareButton.addEventListener('click', () => {
window.AndroidShareHandler.share('https://stackoverflow.com');
});
我猜这与window.print在web视图中不起作用的原因是一样的——不管这可能是什么解决方案?我已经使用了上述设置。但是JavaScriptShareInterface从何而来?我找不到这样的课。你能帮我吗?或者发布完整的代码?@MilindMevada我已经更新了我的答案。界面功能将在JavaScript中可用。请添加每个路径文件,哪些java和JavaScript文件需要编辑,以及什么是mWebView?
shareButton.addEventListener('click', () => {
window.AndroidShareHandler.share('https://stackoverflow.com');
});