2012-08-17 16 views
8

Quería desactivar las funciones relacionadas con CALL y SMS en mi aplicación en función de si el hardware SIM está presente o no. Ahora un enfoque de principiante hacia esto será verificar el tipo de teléfono usando:¿Cómo saber si un dispositivo en particular tiene soporte para hardware SIM?

if (telephonyManager1.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) 

Si es verdadero, entonces es compatible.

Todo estuvo bien hasta que encontré Sony Tablet S, que tiene un soporte SIM solo para datos y mensajería. Sin soporte de voz. Entonces, para este dispositivo, necesito deshabilitar solo la función CALL, pero continúo con el soporte de SMS. La tableta Sony devuelve TelephonyManager.PHONE_TYPE_NONE por lo que no puedo usar los métodos anteriores. Además,

telephonyManager1.getSimState(); 

devuelve 1 SIM_STATE_ABSENT es decir, que también es la misma que en el caso de HTC Flyer, que no tiene soporte para hardware en sí SIM.

Entonces, ¿hay alguna manera de saber si el hardware de SIM está allí (independientemente de si tiene insertada la tarjeta SIM o no)?

+0

por lo que tu objetivo final es saber si la llamada es compatible? ¿Por qué te importa sim – nandeesh

+0

VOIP llamada a través de WiFi no es compatible? – MSalters

+0

@nandeesh - mi objetivo es saber si las llamadas y los sms son compatibles individualmente. Para ser muy preciso, quiero saber si hay una ranura para tarjeta SIM disponible. – binaryKarmic

Respuesta

0

Uso

PackageManager pm = this.getPackageManager(); 
boolean hasTelephony=pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY); 

Editar:

Trate de usar

TelephonyManager.getLine1Number() 

Si esto devuelve null, entonces no tiene funciones de telefonía. No lo he probado. pruébalo

+1

-i comprobé en HTC Flyer y Sony Tablet S ... ambas devuelven falso :(. Estoy realmente sorprendido. Los documentos dicen, "Característica para getSystemAvailableFeatures() y hasSystemFeature (String): El dispositivo tiene una radio de telefonía con datos soporte de comunicación. " esta tableta Sony admite la mensajería de sms. – binaryKarmic

+0

incluso si devuelve nulo eso no me ayuda aquí ... porque estoy recibiendo CALL es compatible o no con la ayuda de TelephonyManager.PHONE_TYPE_NONE .... ¿Qué lo que necesito es comprobar si el SMS es compatible o no – binaryKarmic

Cuestiones relacionadas