Java “共享”按钮在我的应用程序中不起作用
我已经在android studio中使用webview创建了一个简单网站应用程序,并在应用程序上授予了互联网访问权限,还启用了java脚本 当我使用此代码添加WhatsApp共享按钮时Java “共享”按钮在我的应用程序中不起作用,java,android,android-intent,whatsapp,Java,Android,Android Intent,Whatsapp,我已经在android studio中使用webview创建了一个简单网站应用程序,并在应用程序上授予了互联网访问权限,还启用了java脚本 当我使用此代码添加WhatsApp共享按钮时 <button> <a href="whatsapp://send?text=HERE GOES THE URL ENCODED TEXT YOU WANT TO SHARE" data-action="share/whatsapp/share">Share via Whatsapp&
<button>
<a href="whatsapp://send?text=HERE GOES THE URL ENCODED TEXT YOU WANT TO SHARE" data-action="share/whatsapp/share">Share via Whatsapp</a>
</button>
这是因为我的应用程序将whatsapp://作为URL
那么,如何防止这种情况发生,使共享按钮能够正常工作呢
请帮我写必要的脚本
谢谢简单的解决方法是在
href
中使用javascript:
<a href="javascript:go('whatsapp://send?text=HERE')">Share</a>
好的,在
WebViewClient
中的shouldOverrideUrlLoading
方法中,您可以覆盖默认操作。我将修改答案。是Uri还是URL我已包含我的应用程序脚本请帮助我您的代码不工作而不是设置默认值new WebViewClient()
需要覆盖它:mywebView.setWebViewClient(new WebViewClient(){@override public boolean shouldloverride eurlloading{code from answer})
在设备上,应按原样工作。你是在模拟器上试的吗?你的设备上安装了WhatsApp吗?你的URL应该是whatsapp://send?text=HERE 转到要共享的URL编码文本
<a href="javascript:go('whatsapp://send?text=HERE')">Share</a>
<a href="intent://send?text=HERE#Intent;scheme=whatsapp;package=com.whatsapp;end">Share</a>
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
Uri uri = request.getUrl();
if (Objects.equals(uri.getScheme(), "whatsapp")) {
try {
Intent intent = Intent.parseUri(request.getUrl().toString(), Intent.URI_INTENT_SCHEME);
if(intent.resolveActivity(getPackageManager()) != null)
startActivity(intent);
return true;
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
return super.shouldOverrideUrlLoading(view, request);
}