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)?
por lo que tu objetivo final es saber si la llamada es compatible? ¿Por qué te importa sim – nandeesh
VOIP llamada a través de WiFi no es compatible? – MSalters
@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