2012-06-11 38 views
7

Estoy tratando de escribir un widget para poder activar/desactivar LTE en mi Verizon Galaxy Nexus sin profundizar en el menú de configuración para hacerlo. Sin embargo, todavía tengo que descubrir cómo determinar si LTE realmente está encendido. Puedo determinar si mi teléfono actualmente tiene una señal LTE o una señal EVDO, pero no si LTE está habilitado cuando el teléfono tiene una señal EVDO.¿Determina si LTE está encendido?

¿Alguien tiene alguna sugerencia sobre dónde buscar en la Referencia de los programadores de Android? He intentado con el Administrador de Conectividad de TelephonyManager &, pero hasta ahora ninguno de los dos funciona para mí.

Respuesta

0

¿Has probado esto?

TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); 
boolean isLTEConnected = telephonyManager.getNetworkType() == TelephonyManager.NETWORK_TYPE_LTE; 
+0

Actualmente tengo LTE activado en mi teléfono, pero estoy en una Conexión CDMA, que devuelve falso. Eso es lo que me atascaron antes. "Debería" funcionar si uno piensa lógicamente, pero solo funciona si tiene una conexión LTE activa. Directamente desde Android Developer Reference "public int getNetworkType() Devuelve una constante que indica la tecnología de radio (tipo de red) actualmente en uso en el dispositivo para la transmisión de datos". – smccloud

+0

Puede consultar el ['ConnectivityManager'] (http://developer.android.com/reference/android/net/ConnectivityManager.html), usando una combinación de' getNetworkInfo (ConnectivityManager.TYPE_MOBILE) 'y' NetworkInfo.getTypeName () ', aunque no estoy seguro si eso te dará lo que quieres. –

+0

NetworkInfo.getTypeName() devuelve "MOBILE" o "WIFI". Uno podría pensar que Google agregaría soporte adecuado para LTE como lo hicieron con WiMAX ya que WiMAX está muerto e incluso Sprint cambió a LTE. Además, ConnectivityManager.getNetworkInfo (ConnectivityManager.TYPE_MOBILE) .toString() devuelve "06-11 15: 33: 32.239: W/LTE Toggle Widget (12811): NetworkInfo: type: mobile [CDMA - eHRPD], estado: CONNECTED/CONNECTED , razón: simLoaded, extra: VZWINTERNET, roaming: falso, failover: falso, isAvailable: true "en LogCat. – smccloud

0

Vea este enlace: http://developer.android.com/reference/android/telephony/TelephonyManager.html y sobre esta se puede encontrar un ejemplo: http://developer.android.com/training/efficient-downloads/connectivity_patterns.html

Tienes que usar la siguiente función: TelephonyManager.getNetworkType()

+0

Estoy usando TelephonyManager.getNetworkType(), pero devuelve CDMA incluso si LTE está habilitado pero solo tengo una conexión de datos CDMA. Para mí no tiene sentido que no haya una manera fácil de determinar si LTE está habilitado (incluso si no es la conexión activa actual). Directamente desde Android Developer Reference "public int getNetworkType() Devuelve una constante que indica la tecnología de radio (tipo de red) actualmente en uso en el dispositivo para la transmisión de datos". – smccloud

+0

Si lo entiendo, ¿usted habla sobre la red preferida? – Guillaume

+0

Sí, que hasta ahora no he descubierto cómo obtener (a menos que lo haya pasado por alto, que es posible). – smccloud

Cuestiones relacionadas