2010-09-28 9 views

risposta

41
if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) { 
    // THIS PHONE HAS SMS FUNCTIONALITY 
} else { 
    // NO SMS HERE :(
} 

Questo dovrebbe funzionare per le API di livello 5 e superiori.

+3

FYI, per impostazione predefinita questo restituisce falso nell'emulatore AVD, anche se l'emulatore consente di inviare messaggi SMS su telnet: 1) telnet localhost 5554, 2) sms invia

+2

Questo probabilmente fallirà per qualsiasi dispositivo che non supporta il telefono (come un tablet) su cui è installato Google Voice. –

+1

@rnstewart secondo: se l'invio di sms tramite Google Voice, Skype o qualsiasi altro servizio internet è possibile, questo metodo fallirà. Questo metodo controlla solo se è possibile inviare sms direttamente tramite la rete telefonica. Notare che se si avvia un intento 'smsto:', anche skype verrà elencato all'utente come servizio sms. – sulai

Problemi correlati