Estoy trabajando en una aplicación que inicia la actividad del navegador para realizar una autorización de Twitter OAuth. Este proceso utiliza una url de devolución de llamada que relanzará la actividad que inició la actividad del navegador en primer lugar.Abrir la actividad del navegador, pero evitar que esté en el historial de actividad
Mi problema es que las páginas del navegador permanecen en el historial y cuando el usuario hace clic atrás en la actividad de preferencias que lanzó el navegador en primer lugar, no vuelven a la actividad principal de la aplicación, sino que se devuelven al navegador. Intenté agregar indicadores al intento de inicio para evitar el historial y restablecer en claro, pero parece que no funciona cuando se ejecuta en mi teléfono, solo en los emuladores.
Aquí está el código que estoy usando para poner en marcha la actividad del navegador:
Intent webIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl));
webIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
webIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
webIntent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
ctx.startActivity(webIntent);
Alguien tiene alguna idea de lo que podría estar mal?
que cerrará la actividad que realmente quiero quedar abierta, aquí es una secuencia de eventos . La aplicación comienza con MainActivity, el usuario abre PreferencesActivity, luego el usuario hace clic en Authorize Twitter que inicia la actividad del navegador con el código anterior, pasándole una url de devolución de llamada que PreferencesActivity tiene un filtro de intención para manejar. El usuario inicia sesión en Twitter, autoriza su uso por la aplicación y el navegador ejecuta la url de devolución de llamada que reactiva la actividad de preferencias a través de su filtro de intención. En este momento, si el usuario hace clic en la tecla 'Atrás', quiero que vuelva a MainActivity. – jaredbro
¿Por qué reactivan PreferencesActivity con IntentFilter en lugar de usar startActivityForResult? No estoy seguro si funcionaría en su caso ya que no conozco los detalles de su código, pero ¿podría ser eso una idea? De esta manera, en realidad, volverías al historial de la pila en lugar de abrir otra instancia de PreferencesActivity. Sin embargo, no estoy seguro si eso es lo que hace ahora, más fácil de ver con el código completo, devoluciones de llamada, filtros de intención, etc. –