Кто-нибудь сталкивался с проблемой редиректа во внутреннем webView, инициализированным с помощью WebViewClient?
Трабла в том, что он не отлавливает ссылку вида
http://www.ru/index.html#label2
. То есть не ловит якорь, вообще.
Вот участок кода:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webview = (WebView) findViewById(R.id.webView1);
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.i("", "shouldOverrideUrlLoading url=" + url);
// TODO Auto-generated method stub
return super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
Log.i("", "onPageFinished url=" + url);
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
});
webview.getSettings().setLoadWithOverviewMode(false);
webview.getSettings().setUseWideViewPort(false);
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webview.getSettings().setUserAgentString("android.RTkabinet");
String url = "https://paycard.rt.ru/payallrbs_rtk.jsp?sourceSystem=1002&payMethod=YandexMoney&item=98000607231;1;RT.SOUTH.23.CONTRACT_ID";
webview.loadUrl(url);
}
На Stackoverflow есть примеры работы с локальными файлами file:///file.html, но, это делается через костыли и грузят они напрямую через loadUrl. Мне же надо принять редирект. Фактически shouldOverrideUrlLoading() даже не указывает, что пришла ссылка с якорем и я об этом никогда не узнаю.
Искусственно по совпадению известной конечной ссылки, пытался грузить на ссылку с якорем
http://link#0
, но это не сработало.
Как можно побороть андроид?