Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android: Abrir navegador con la cookie de sesión suministrada

Actualmente estoy buscando una forma de lanzar la aplicación de navegador predeterminada en Android y pasarle una cookie de sesión.

Mi aplicación se comunica con una API externa sobre la que no tengo control utilizando HttpClient, y luego pasa al usuario al sitio para las etapas finales.

Soy consciente de que esto es probablemente posible utilizando un WebView, sin embargo, muy específicamente, necesito abrir la aplicación de navegador externo en lugar de usar un WebView interno.

Yo sé eso:

Intent.ACTION_VIEW 

Se puede utilizar para abrir el navegador, sin embargo, no he podido encontrar mucha información sobre la transmisión de datos adicionales.

Cualquier ayuda es muy apreciada.

  • Borrar actividad back stack
  • Los mensajes GCM de Android tardan demasiado en llegar
  • Android: Utilice el icono como botón de retroceso sin volver a cargar la actividad anterior
  • El botón Atrás no funciona después de mostrar el contacto
  • FLAG_ACTIVITY_CLEAR_TOP?
  • ¿Por qué utilizar las actividades de inicio?
  • IntentReceiverLeaked usando AdMob
  • Inicie el visor de intenciones para mostrar la imagen desde url
  • 2 Solutions collect form web for “Android: Abrir navegador con la cookie de sesión suministrada”

    Actualmente estoy buscando una forma de lanzar la aplicación de navegador predeterminada en Android y pasarle una cookie de sesión.

    Esto no es posible, lo siento.

    ¿Sabes url-rewrite? Le ayudará a lograr su demanda. Una url-write puede ser así: "http: // localhost: 8080 / test / error.jsp; jsessionid = C4E6732EBB4C17F409AB41143735C096".

    El "jsession" es la clave para sessionid, y C4E6732EBB4C17F409AB41143735C096 es el valor. La clave para representar el atributo sessionid es diferente depende de qué idioma se utiliza en los proyectos web.

    Por lo tanto, si desea mantener la sesión, puede iniciar el valor predeterminado de esta manera:

      Uri uri = Uri.parse("http://localhost:8080/test/error.jsp;jsessionid=C4E6732EBB4C17F409AB41143735C096"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); 

    El sessionid que usted puede conseguir del HttpClient, y apenas agregarlo detrás de su url.

    También hay algunos problemas que necesitan prestar atención. En primer lugar, en la url, el separador es ";" No "?", Porque el sessionid está en el encabezado http, no en el cuerpo http. En segundo lugar, si el navegador ya tiene una sesión con el servidor, entonces la url-reescritura no funcionará porque el navegador utilizará su propia sesión, para resolver esto, puede utilizar su aplicación para obtener la sesión del navegador y utilizar esta sesión En el HttpClient.

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