Autenticación para Videoview en android

Estoy utilizando un Videoview para reproducir http video.That URL de vídeo Http necesita autenticación .

Así que por favor, hágamelo saber cómo la autenticación se puede establecer en el VideoView? Si no hay otra alternativa para la visualización de vídeo autenticado.

Gracias y Saludos, Sree Harsha.

Hay un método oculto en VideoView que permite configurar encabezados HTTP. Puede utilizar la reflexión para acceder a ella. Pero sólo ayudará si el servidor admite la autenticación básica

Method setVideoURIMethod = videoView.getClass().getMethod("setVideoURI", Uri.class, Map.class); Map<String, String> params = new HashMap<String, String>(1); final String cred = login + ":" + pwd; final String auth = "Basic " + Base64.encodeBytes(cred.getBytes("UTF-8")); params.put("Authorization", auth); setVideoURIMethod.invoke(videoView, uri, params); 

Por supuesto, ya que esta API no documentada no está garantizado para funcionar correctamente, debe manejar las excepciones y tener un plan de fallback.

Primero debes saber qué tipo de autenticación es requerida por este servidor: http://unixpapa.com/auth/index.html

En segundo lugar, dependiendo del tipo de autenticación, debe proporcionar parámetros de autenticación (nombre de usuario / contraseña) dentro de la URL. Por lo general esto será aceptado (pero no necesatily, debe probar): http://username:[email protected]/whatever

Se trata de autenticaciones básicas de tipo http. Los sitios modernos utilizan otras opciones como OpenID y OAuth. Esto es un poco más difícil de implementar.

De todos modos, usted debe saber el tipo de tipo de autenticación, antes de empezar a buscar la solución.

El acceso de API de reflexión a la setViewUri (Uri, Map) funcionó para mí.

Supongo que una alternativa más segura es usar MediaPlayer.setDataSource (Contexto, Uri, Mapa) :

Un riesgo de usar la API de reflexión es que la API podría desaparecer en una versión futura …

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