阅读量:2
在Android WebView中处理JavaScript调用,您需要实现WebViewClient并重写shouldOverrideUrlLoading()和onPageFinished()方法。此外,您还需要启用JavaScript支持。以下是一个简单的示例:
- 在您的Activity或Fragment中,创建一个自定义的
WebViewClient:
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class CustomWebViewClient extends WebViewClient {
@JavascriptInterface
public void showToast(String message) {
// 在这里处理JavaScript调用的结果
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
}
}
注意,我们需要在showToast方法上添加@JavascriptInterface注解,以便将其暴露给JavaScript代码。
- 在您的Activity或Fragment中,设置WebView并启用JavaScript支持:
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webview);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setWebViewClient(new CustomWebViewClient());
webView.addJavascriptInterface(new CustomWebViewClient(), "Android");
webView.loadUrl("https://example.com");
}
}
在这个例子中,我们将自定义的CustomWebViewClient设置为WebView的客户端,并将其添加到WebView中,以便处理JavaScript调用。
- 在您的HTML文件中,您可以使用以下JavaScript代码调用Android方法:
html>
<html>
<head>
<title>WebView Exampletitle>
<script type="text/javascript">
function callAndroidToast() {
Android.showToast("Hello from JavaScript!");
}
script>
head>
<body>
<button onclick="callAndroidToast()">Click mebutton>
body>
html>
当用户点击按钮时,callAndroidToast()函数将被调用,从而触发Android中的showToast方法。在这个例子中,我们将显示一个Toast消息,但您可以根据需要执行任何操作。
以上就是关于“webview android如何处理js调用”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm