У меня есть веб-страница, на которой есть социальный ресурс javascript, и я использую android webview, чтобы показать эту страницу, проблема в том, что когда я нажимаю на общий ресурс whatapp или мессенджер, он не работает, но он хорошо работает с общим ресурсом facebook. обратите внимание, что я пытаюсь открыть веб-страницу в своем мобильном браузере, и все кнопки «Поделиться» работают хорошо, это мой код JavaScript:
<script type='text/javascript' src='//platform-api.sharethis.com/js/sharethis.js#property=5b94a08891dd5500119063ef&product=social-analytics' async='async'></script>
, а это мой код веб-просмотра:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mwebView = findViewById(R.id.webView);
WebSettings webSettings = mwebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mwebView.loadUrl(" https://www.talabito.com");
mwebView.setWebChromeClient(new WebChromeClient());
//improve webview
mwebView.setWebViewClient(new myWebViewClient());
//make app open from cache when the internet is not available
mwebView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
mwebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
mwebView.getSettings().setAppCacheEnabled(true);//enable the Application Caches API
mwebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
webSettings.setDomStorageEnabled(true);//enable the DOM storage AP
//controlling the layout of html
webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
webSettings.setUseWideViewPort(true);
webSettings.setSavePassword(true);// to save password
webSettings.setSaveFormData(true);// save form data.
webSettings.setEnableSmoothTransition(true);
CookieManager.getInstance().setAcceptCookie(true);
if (Build.VERSION.SDK_INT >= 21) {
mwebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
CookieManager.getInstance().setAcceptThirdPartyCookies(mwebView, true);}}
private class setWebChromeClient extends WebChromeClient {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
//Required functionality here
return super.onJsAlert(view, url, message, result);
}}
private class setWebChromeClient extends WebChromeClient {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
//Required functionality here
return super.onJsAlert(view, url, message, result);
}}