How can i use canGoBack() on GeckoView?
below is sample default android webview canGoBack()
implemention
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}
on geckoview
You need to set a navigation delegate on the gecko session and use a global boolean to keep track of whether it can go back or not.
Java
private boolean canGoBack = false;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
session.setNavigationDelegate(new GeckoSession.NavigationDelegate() {
@Override
public void onCanGoBack(@NonNull GeckoSession session, boolean canGoBack) {
MainActivity.this.canGoBack = canGoBack;
}
});
}
}
Kotlin
session.navigationDelegate = object : NavigationDelegate {
override fun onCanGoBack(session: GeckoSession, canGoBack: Boolean) {
// equivalent of webview.canGoBack
this@MainActivity.canGoBack = canGoBack
}
}