我正在开发一个在WebView上加载web应用程序的android应用程序。我想调用web app按钮动作。我已经在网页上实现了一些更改,以调用本地方法,如下所示。
mWebview。addJavascriptInterface(new Object()) {
@JavascriptInterface // For API 17+
public void callNativeHome() {
Log.d("btnsetup", "btnsetup");
}
}, "btnsetup");
但是现在我不能在网页端做任何更改,因为它不是我的网页屏幕。如何通过ID或类名访问按钮单击事件?
Web访问是强制性的将JavaScript代码绑定到Android代码
Android:
val webView: WebView = findViewById(R.id.webview)
webView.addJavascriptInterface(WebAppInterface(this), "Android")
Web:
<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
<script type="text/javascript">
function showAndroidToast(toast) {
Android.showToast(toast);
}
</script>
你可以简单地遵循绑定JavaScript代码到Android代码。
另一个解决方法是找到导航URL。您可以在单击该按钮后查看/比较所调用的重定向URL。
有关更多信息,您可以查看webview中的Handle页导航。