Android: обратные вызовы с компонентом WebView? - PullRequest
5 голосов
/ 17 сентября 2010

Я выполняю аутентификацию на стороннем сайте, который должен перенаправить обратно в мое приложение с токеном аутентификации (OAUTH).

У меня работает обратный вызов, если я открываю сторонний сайт на отдельном сайте.браузер обрабатывает через

this.startActivity(new Intent(Intent.ACTION_VIEW, uri));

, но, если я встраиваю компонент WebView в свой макет и открываю в нем URL, обратный вызов не работает.Webview говорит: «У вас нет разрешения на открытие myapp: // callback? Token = ....» и быстро обновляется до «Веб-страница недоступна ... временно недоступна ... бла-бла»

Любойидеи?

1 Ответ

17 голосов
/ 17 сентября 2010

Вам необходимо реализовать WebViewClient для перехвата пользовательского URI перед его загрузкой. В руководстве Hello, WebView показан простой пример.Где у них есть:

private class HelloWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

Вы можете изменить «view.loadUrl (url)», чтобы проверить, является ли URL-адрес вашим пользовательским URL-адресом, и обработать его так, как вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...