Android navigator.share在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

在我的Android应用程序的WebView中,
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');
});