2011-08-18 17 views
6

Estoy escribiendo una aplicación donde necesito tener específicamente una conexión GPRS, incluso si está disponible wifi o 3G (o superior). He descubierto cómo desactivar wifi (usando WifiManager), sin embargo, parece que no puedo descubrir cómo puedo desactivar de forma programada 3G y solo usar una conexión GPRS, con el mismo efecto que cambiar esto manualmente en la configuración del dispositivo.¿Cómo forzar una conexión GPRS en lugar de 3G o Wifi?

¿Hay alguna manera de hacer esto con el código?

ACTUALIZACIÓN: Lo que estoy buscando no tiene que estar necesariamente en las API públicas de Android. También podría ser en una de las API no documentadas, o como último recurso, API específicas del dispositivo, solo necesito algo que funcione. Sin embargo, prefiero no tener que rootear un dispositivo para usar estas funciones.

Respuesta

2

El problema no es solo las API privadas, sino que un APK de terceros no puede obtener permiso para modificar dicha configuración.

Como resultado, hacerlo requeriría un dispositivo rooteado además de las interfaces privadas de ingeniería inversa.

0

por lo que yo sé, no es posible cambiar el tipo de red móvil desde una aplicación.

+0

Conozco al menos una aplicación que parece tener esta capacidad (es decir, la aplicación [Controles extendidos] (https://market.android.com/details?id=com.extendedcontrols)), así que no cree que es imposible – Frxstrem

+0

@Frxstream - ¿Ha verificado eso en un dispositivo no rooteado? "posible desde una aplicación" tiende a referirse a lo que Android está diseñado para permitir que las aplicaciones hagan, iniciando procesos de ayuda porque el superusuario no es una capacidad diseñada. –

0

En android framework, TelephonyManager es el objeto que proporciona el servicio de telefonía a la aplicación de Android.
ver http://developer.android.com/reference/android/telephony/TelephonyManager.html
El servicio proporciona varios métodos para conocer el estado y la información de su componente de radio físico.

Pero no hay forma de modificar la forma en que el componente de radio física de su dispositivo hace su trabajo. Es una lógica privada del fabricante de su dispositivo que trata de hacer todo lo posible para cumplir norma industrial radiofonía y proporcionar la mejor calidad de experiencia del usuario final

Este es un punto de Android API de vista público (más de Dalvik) respuesta, hacer no responde en contexto de api android privado, ni modo nativo ni modo privilegiado de root.

Cuestiones relacionadas