Iniciando una actividad de ACTION_VIEW para abrir el navegador, ¿cómo vuelvo a mi aplicación?

En mi aplicación necesito abrir la página del banco, para que el usuario pueda pagar. Leyendo la documentación de Android Veo que debo usar un ACTION_VIEW (y no un WebView) para lograr esto.

  Uri uri = Uri.parse("http://www.example.com"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); 

Mi pregunta es: Después de que el usuario ha terminado con el pago, ¿cómo puedo volver a la aplicación ?

Quiero decir, me gustaría hacer algo como

 startActivityForResult(intent, RESULT_CODE); 

Para abrir el sitio del banco, y luego volver a la aplicación cuando el usuario está

 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

Callback para manejar el resultado del pago.

Y, ¿estoy siguiendo el camino correcto? ¿O hay alguna otra manera de lograr esto?

¿Cómo sabría el navegador que el usuario está hecho con la página del banco? No tiene manera de saber eso.

Además, el navegador no reacciona a startActivityForResult() estableciendo el resultado y luego finish() .

Por lo tanto, no puede utilizar el navegador de Android para realizar esta tarea.

La única manera posible sería iniciar WebView y detectar cuándo el usuario ha terminado, detectando ciertas url que se muestra (supuestamente) cuando el usuario ha terminado con la tarea del banco.

En realidad, usted es capaz de volver a su actividad de llamadas tomando un enfoque diferente. Si la página web que está llamando es manejada por usted o le permite asignar una devolución de llamada cuando el usuario termina de procesar la domo, puede establecer esa devolución de llamada a un URI y asignar ese URI a su actividad de llamada si el modo de inicio de actividad es SingleTask, entonces usted va a ser capaz de reanudar su actividad.

Lo único que no he resuelto es que no sé cómo quitar el navegador de la pila una vez que vuelve a su actividad de llamadas. Quiero lograr esto porque una vez que salgas de tu aplicación, android muestra la actividad del navegador al frente, forzando al usuario a terminarlo por sí mismo.

Sólo tiene que poner un argumento ResultCode en su método startActivityForResult, algo como =this.startActivityForResult(intent, PAYMENT_ACCEPTED)

Se devolverá como ResultCode cuando finalice su segunda actividad.

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