-Edit: найдено решение -
Выяснилось это после некоторых тяжелых поисков - один человек (я буквально имею в виду один) сказал, что вместо этого они используют onPageLoad(); который отлично работал для моих целей. Разница в том, что onPageLoad() запускается позже, чем shouldOverrideUrlLoading, но это не влияет на мой код.
Я пытаюсь настроить авторизацию Twitter с помощью OAuth для приложения для Android, и до сих пор я могу успешно отправить пользователя на URL авторизации, однако то, что я пытаюсь сделать сейчас, это перехват перенаправления на обратный вызов ( который просто приведет к ошибке 404, наш URL обратного вызова не будет иметь связанную страницу на наших серверах). То, что я пытаюсь сделать, это проверить, является ли URL-адресом наш обратный вызов, а затем извлечь URL-адрес OAuth Verifier. Я настраиваю свой WebView с помощью этого кода:
view = (WebView)findViewById(R.id.twitterWbVw);
view.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView wView, String url)
{
String urlHolder;
String[] verifExtrctr;
urlHolder = url.substring(0, url.indexOf('?'));
System.out.println("url");
if(urlHolder.equalsIgnoreCase(CALLBACK_URL))
{
verifExtrctr = urlHolder.split("?");
verifExtrctr = verifExtrctr[2].split("=");
if(verifExtrctr[0].equalsIgnoreCase("oauth_verifier"))
{
params[5] = verifExtrctr[1];
return true;
}
else
{
System.out.println("Inocorrect callback URL format.");
}
}
else
{
wView.loadUrl(url);
}
return true;
}
});
view.loadUrl(urlAuthorize.toExternalForm());
Вещь даже System.out.println( "url" ); (которую я использую для отладки) не запускается! Так что я довольно сухая по идеям и не могу найти никого с подобной проблемой. URL-адрес авторизации проходит отлично, и я могу успешно разрешить приложение, однако перенаправление на URL-адрес обратного вызова по какой-либо причине никогда не перехватывается. Любая помощь будет оценена, это в моем onResume(), если это имеет значение.