Abrir la actividad del navegador, pero evitar que esté en el historial de actividades

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 volverá a iniciar la actividad que inició la actividad del explorador en primer lugar.

Mi problema es que las páginas del navegador permanecen en la pila de historial y cuando el usuario hace clic de nuevo en la actividad de preferencias que inició el navegador en primer lugar, no vuelven a la actividad principal de la aplicación, sino que se vuelven a el navegador. He intentado añadir banderas a la intención de lanzamiento para evitar el historial y restablecer en claro, pero no parece funcionar cuando se ejecuta en mi teléfono, sólo en los emuladores.

Este es el código que estoy usando para iniciar 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?

Establezca el indicador de actividad en Intent.FLAG_ACTIVITY_CLEAR_TOP después de iniciarlo. De esta forma, la tarea se eliminará de la pila de la aplicación para que la actividad principal siga siendo la primera en cada nuevo lanzamiento:

 ctx.startActivity(webIntent); browserIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

llamada

 finish(); 

después

 ctx.startActivity(webIntent); 

Hola tengo el mismo problema en este momento. Creo que la solución es iniciar la actividad con la que quieres volver con un indicador especial:

 Intent intent = new Intent(this, acticityToReturnTo.getClass()); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivity(intent); 

El problema es que no funciona (al menos en 1.6) .. Pero tal vez alguien encuentra una solución para esto. Creo que FLAG_ACTIVITY_CLEAR_TOP es exactamente lo que nosotros.

Encontré que Intent.FLAG_ACTIVITY_NO_HISTORY sólo funciona si el navegador no estaba en ejecución antes. Si reinicio Android y ejecutar mi aplicación que el navegador de llamadas todo funciona bien. Pero cuando comienzo navegador antes de mi aplicación, el navegador se quedará en la historia.

Aquí está relacionada pregunta también, pero sin realmente solución de trabajo

¿Cómo puedo hacer eso en Android. Actividad -> WebBrowser -> Acrivity, pero pulse Atrás no vea el WebBrowser

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.