studio - Devoluciones de llamada del navegador y la locura de la pila de actividad de Android
oauth2 (1)
Estoy luchando para obtener un comportamiento específico para la autorización de OAuth mediante la devolución de llamada ubicua con esquema personalizado-> técnica de filtro de intención.
Mi aplicación se registra para las acciones SEND y, cuando se invoca, inicia un servicio que, a su vez, verifica si el usuario ya está autorizado y, si no, genera una actividad (OAuthActivity) para solicitar el inicio de sesión.
Tenga en cuenta que la actividad en primer plano justo antes de que esto suceda puede ser cualquier cosa. La actividad luego inicia un intento de VER para abrir la página de autenticación en el navegador; este último invoca la devolución de llamada elaborada (con un esquema personalizado definido en manifiesto) y activa la OAuthActivity.
OAuthActivity tiene, actualmente, launchMode="singleTask"
pero esto no hace una diferencia desde la perspectiva de la pila (se pone encima cuando se le devuelve la llamada).
¿Hay alguna forma de que pueda borrar la pila de actividades y volver a lo que estaba haciendo el usuario y no forzarlo a retroceder en la actividad del navegador? (A continuación, mostraré una notificación cuando el contenido se envió correctamente en segundo plano)
¿Alguien tiene alguna indicación? Gracias por leer a través de
La actividad luego comienza una VIEW intención de abrir la página de autenticación en el navegador
Ese es el problema. Esto funciona para mí: renderice la página web de Oauth en una vista web que controle en lugar de abrirla en la aplicación del navegador.
La página web oauth, cuando llama a su devolución de llamada, en realidad se reemplazará en la vista web, donde su WebViewClient puede capturar esa URL esperada, procesar los resultados y finalizar () la vista web (eliminándola de la pila de actividades).