2010-09-17 6 views
5

Je m'authentifie avec un site tiers qui est censé rediriger vers mon application avec un jeton d'authentification (OAUTH).Android: rappels avec le composant WebView?

J'ai le rappel fonctionne correctement si j'ouvre le site 3ème partie dans un processus de navigateur via

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

mais, si j'intégrer un composant WebView dans ma mise en page, et ouvrir l'URL en ce que le le rappel ne fonctionne pas. Webview dit "Vous n'avez pas l'autorisation d'ouvrir myapp: // callback? Token = ...." et actualise rapidement "La page Web n'est pas disponible ... temporairement en baisse ... bla bla"

Des idées?

Répondre

16

Vous devez implémenter un WebViewClient pour intercepter l'URI personnalisée avant son chargement. The Hello, WebView tutorial montre un exemple simple. Où ils ont:

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

Vous pouvez changer « view.loadUrl (url) » pour vérifier si l'URL est votre URL personnalisée et gérer comme vous le voulez.