Volevo disattivare le funzionalità relative a CALL e SMS nella mia applicazione in base alla presenza o meno di hardware SIM. Ora un approccio principianti verso questo controllerà il tipo di telefono utilizzando:Come scoprire se un particolare dispositivo ha SIM Supporto hardware?
if (telephonyManager1.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE)
Se vero, è supportato.
Tutto andava bene fino a quando non ho trovato Sony Tablet S che ha un supporto SIM solo per Data e Messaging. Nessun supporto vocale. Quindi per questo dispositivo ho bisogno di disabilitare solo la funzione CALL, ma continuo con il supporto SMS. La tavoletta Sony restituisce TelephonyManager.PHONE_TYPE_NONE in modo da non poter utilizzare i metodi precedenti. Inoltre,
telephonyManager1.getSimState();
restituisce 1 cioè SIM_STATE_ABSENT, che è anche lo stesso in caso di FLYER HTC che non ha il supporto per l'hardware SIM stessa.
Quindi c'è un modo in cui posso venire a sapere se l'hardware SIM è lì (indipendentemente dalla scheda SIM inserita o no)?
quindi il tuo obiettivo finale è sapere se la chiamata è supportata? perché ti importa di sim – nandeesh
Chiamata VOIP tramite WiFi non è supportata? – MSalters
@nandeesh: il mio obiettivo è sapere se sia la chiamata che gli sms sono supportati individualmente. Per essere precisi voglio sapere se c'è uno slot per schede SIM disponibile. – binaryKarmic