addJavascriptInterface 跳转页面
时间: 2023-10-21 09:53:30 浏览: 139
您可以使用`addJavascriptInterface`方法将Java对象注入到WebView中,然后在JavaScript中调用该对象的方法来实现页面跳转。
首先,在您的Java代码中创建一个对象,并使用`addJavascriptInterface`方法将其注入到WebView中。例如:
```java
public class MyJavaScriptInterface {
private Context context;
public MyJavaScriptInterface(Context context) {
this.context = context;
}
@JavascriptInterface
public void redirectToPage(String url) {
// 在这里执行页面跳转逻辑
Intent intent = new Intent(context, YourActivity.class);
intent.putExtra("url", url);
context.startActivity(intent);
}
}
```
然后,在您的WebView中启用JavaScript并添加接口对象。例如:
```java
WebView webView = findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
MyJavaScriptInterface jsInterface = new MyJavaScriptInterface(this);
webView.addJavascriptInterface(jsInterface, "JSInterface");
```
接下来,在您的JavaScript代码中,您可以使用`JSInterface`对象来调用Java方法。例如:
```javascript
// JavaScript代码
JSInterface.redirectToPage('https://www.example.com');
```
这样,当您在JavaScript中调用`redirectToPage`方法时,将会触发页面跳转逻辑并打开指定的URL。
请注意,使用`addJavascriptInterface`方法需要小心,确保只注入可信任的对象,并处理好安全性问题,以避免被恶意代码利用。
阅读全文