Как определить, когда страница WebView пытается закрыть?
У меня есть WebView, в который я загружаю страницу php Facebook sharer. Эта страница не имеет какой-либо формы подтверждения, она просто закрывает окно после того, как пользователь поделился или отменил.
Поскольку он загружен в веб-представление, "закрывать" его нечего, поэтому мне нужно обнаружить окно, пытающееся закрыть его, и выполнить этот обратный вызов.
Из моих различных поисков выясняется, что способ справиться с этим - через WebChromeClient. Итак, я пытаюсь сделать следующее, но обратный вызов никогда не вызывается. Я явно что-то упускаю, но не знаю что. Такое ощущение, что событие onCloseWindow должно быть переопределено, но это заставляет затмение жаловаться (разумно) на то, что мне нужен супер экземпляр, что, по-видимому, не представляется возможным в документации.
Вся помощь приветствуется.
[EDIT] о, и я только что попытался поменять порядок действий, установить WebChromeClient перед вызовом url, и (как я ожидал) это никак не изменило поведение.
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webview.setWebViewClient(new WebViewClient());
webview.loadUrl("http://www.facebook.com/sharer/sharer.php?u=http://EXTRACTED.com?img_id=abc");// + getIntent().getStringExtra("userId"));
WebChromeClient wbc = new WebChromeClient(){
public void onCloseWindow(Window w){
Log.d(TAG, "Window trying to close");
}
};
webview.setWebChromeClient(wbc);
1 ответ
Что случилось с:
public void onCloseWindow(WebView w){
super.onCloseWindow(w);
Log.d(TAG, "Window trying to close");
}