2010-09-17 13 views
5

Estoy haciendo la autenticación con un sitio de terceros que supuestamente debe redireccionar a mi aplicación con auth token (OAUTH).Android: devoluciones de llamada con componente WebView?

que tienen la devolución de llamada de funcionar correctamente si abro el sitio 3 ª parte en un proceso independiente del navegador a través de

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

pero, si lo integrar un componente WebView en mi diseño, y abrir la URL de eso, el la devolución de llamada no funciona. Webview dice "No tiene permiso para abrir myapp: // callback? Token = ...." y se actualiza rápidamente a "Página web no disponible ... temporalmente inactivo ... blah blah"

¿Alguna idea?

Respuesta

16

Debe implementar WebViewClient para interceptar el URI personalizado antes de que se cargue. The Hello, WebView tutorial muestra un ejemplo simple. Donde tienen:

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

Usted puede cambiar "view.loadUrl (url)" para comprobar si la URL es la URL personalizada y manejarlo sin embargo usted quiere.

Cuestiones relacionadas