在H5中调用Android代码可以使用JavaScript与Java代码进行交互。以下是一个简单的示例:
首先,在你的Android项目中创建一个类,用于与H5交互:
```java
public class JavaScriptInterface {
private Context context;
public JavaScriptInterface(Context context) {
this.context = context;
}
// 在该方法中定义供H5调用的Android方法
@JavascriptInterface
public void showToast(String message) {
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
}
}
```
然后,在你的Activity中将该类添加到WebView的JavaScript接口中:
```java
WebView webView = findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new JavaScriptInterface(this), "AndroidInterface");
webView.loadUrl("file:///android_asset/your_html_file.html");
```
上面的代码中,我们通过`addJavascriptInterface()`方法将`JavaScriptInterface`类添加到WebView的JavaScript接口中,并指定了一个名称`AndroidInterface`。在H5中,我们将使用这个名称来调用Android的方法。
接下来,在你的H5代码中,你可以通过调用`AndroidInterface`对象的方法来调用Android代码:
```javascript
<button οnclick="callAndroid()">调用Android代码</button>
<script>
function callAndroid() {
AndroidInterface.showToast("Hello, Android!");
}
</script>
```
上面的代码中,我们定义了一个按钮,当按钮被点击时,调用`AndroidInterface.showToast()`方法来显示一个Toast消息。
这样就可以在H5中调用Android代码了。你可以根据具体的需求,通过JavaScript接口与Android代码进行更复杂的交互。