Como descobrir se um determinado dispositivo tem suporte para o hardware do SIM?
Eu queria desativar os recursos relacionados a CALL e SMS no meu aplicativo com base em se o hardware do SIM está presente ou não. Agora, uma abordagem iniciante para isso será verificar o tipo de telefone usando:
if (telephonyManager1.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE)
Se for verdade, então é suportado.
Tudo estava bem até me deparar com Sony Tablet S, que tem um suporte SIM apenas para dados e mensagens. Nenhum suporte de voz. Portanto, para este dispositivo, preciso desabilitar somente o recurso CALL, mas continuo com o suporte por SMS. O tablet Sony retorna o TelephonyManager.PHONE_TYPE_NONE, portanto, não posso usar os métodos acima. Além disso ,
telephonyManager1.getSimState();
retorna 1, ou seja, SIM_STATE_ABSENT, que também é o mesmo no caso do HTC FLYER, que não tem suporte para o próprio hardware SIM.
Então, há alguma maneira em que eu possa vir a saber se o hardware do SIM está lá (independentemente do cartão SIM inserido ou não)?