2010-09-17 11 views
5

Wykonuję uwierzytelnianie w witrynie innej firmy, która ma przekierować z powrotem do mojej aplikacji z tokenem uwierzytelniania (OAUTH).Android: Połączenia zwrotne z komponentem WebView?

mam zwrotnego działa prawidłowo jeśli otworzyć 3rd witryny partia w oddzielnym procesie przeglądarki poprzez

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

ale gdybym osadzić składnik Webview w moim układzie, i otworzyć link w tym, oddzwanianie nie działa. Webview mówi "Nie masz uprawnień, aby otworzyć mojeapp: // wywołanie zwrotne? Token = ...." i szybko odświeża się "Strona internetowa niedostępna ... tymczasowo w dół ... bla bla"

Jakieś pomysły?

Odpowiedz

16

Musisz zaimplementować WebViewClient, aby przechwycić niestandardowy identyfikator URI przed jego załadowaniem. The Hello, WebView tutorial pokazuje prosty przykład. Gdzie mają:

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

można zmienić „view.loadUrl (URL)”, aby sprawdzić, czy adres URL jest niestandardowy adres URL i obsługiwać go jednak chcesz.