以下是android Webview的代码
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}我如何在Geckoview中使用类似的代码,或者如何在Geckoview上实现类似的过程?
发布于 2021-08-31 14:15:19
GeckoView通过NavigationDelegate.onCanGoBack提供这段信息,但不存储它,因此您需要创建一个实现NavigationDelegate的类来完成这项工作。
首先创建你自己的委托类:
private class MyNavigationDelegate implements GeckoSession.NavigationDelegate {
public boolean canGoBack = false;
@Override
public void onCanGoBack(GeckoSession session, boolean canGoBack) {
this.canGoBack = canGoBack;
}
}
private MyNavigationDelegate navigationDelegate = new MyNavigationDelegate();然后在创建GeckoSession的位置设置委托
session.setNavigationDelegate(navigationDelegate);然后,您可以像这样实现onBackPressed:
public void onBackPressed() {
if (navigationDelegate.canGoBack) {
session.goBack();
} else {
super.onBackPressed();
}
}https://stackoverflow.com/questions/68962194
复制相似问题