Lanzamiento del navegador en Ice Cream Sandwich

Tengo un programa que he hecho para Android 1.6 y hasta y he estado haciendo pruebas para asegurar que el programa funciona bien con el nuevo Ice Cream Sandwich (Android 4).

Todo en la aplicación funciona bien, excepto que cuando una determinada tarea ha sido realizada por el usuario se supone que se inicia automáticamente el navegador android. Sin embargo, por alguna razón, parece que se cargue en el fondo y mantiene mi aplicación se muestra que no es lo que yo quiero que haga.

En cada otra versión de android cuando ejecuto el código para lanzar el navegador el navegador llega a la parte superior de la pantalla por lo tanto, haciendo que mi aplicación esté en el fondo, que es la forma en que quería que funcione.

A continuación se muestra el código que tengo para iniciar el navegador

Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.addCategory(Intent.CATEGORY_BROWSABLE); intent.setData(Uri.parse(companyURL)); startActivity(intent); 

La companyURL es una variable que estoy utilizando para analizar la url del navegador.

Gracias por cualquier ayuda que usted nos pueda proporcionar.

ACTUALIZACIÓN Acabo de descubrir que si el navegador no se está ejecutando (es decir, no se ha cargado previamente) cuando mi aplicación inicia el navegador que lo lleva al frente. Sin embargo, una vez que el navegador ha sido cargado previamente, cuando mi aplicación lo carga de nuevo, lo carga en segundo plano.

Por favor, pruebe esto, está trabajando en ICS para mí.

 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(companyURL)); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); 

Normalmente no necesita la categoría CATEGORY_BROWSABLE. Intente lo siguiente en su lugar:

 Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(Uri.parse(companyURL)); startActivity(intent); 

De hecho, la documentación parece sugerir que CATEGORY_BROWSABLE está destinado a ser utilizado en la dirección opuesta (navegador a su aplicación):

Las actividades que se pueden invocar con seguridad desde un navegador deben admitir esta categoría. Por ejemplo, si el usuario está viendo una página web o un correo electrónico y hace clic en un enlace en el texto, el intento generado ejecutar ese enlace requerirá la categoría BROWSABLE, de modo que sólo las actividades que apoyan esta categoría serán consideradas como acciones posibles .

http://developer.android.com/reference/android/content/Intent.html#CATEGORY_BROWSABLE

Intente agregar el indicador FLAG_ACTIVITY_BROUGHT_TO_FRONT a la intención.

Estoy usando el código siguiente y su funcionamiento muy bien conmigo incluso cuando el hojeador está funcionando ya en el fondo.

 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")); startActivity(intent); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.