2010-09-28 14 views

Respuesta

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

Eso debería funcionar para API nivel 5 y superior.

+3

FYI, por defecto esto devuelve falso en el emulador AVD, aunque el emulador le permite enviar mensajes SMS a través de telnet: 1) telnet localhost 5554, 2) sms send

+2

Probablemente esto también falle para cualquier dispositivo que no tenga capacidad telefónica (como una tableta) que tenga instalado Google Voice. –

+1

@rnstewart en segundo lugar: si el envío de sms a través de Google Voice, Skype o cualquier otro servicio de Internet es posible, este método fallará. Este método solo verifica si puede enviar sms directamente a través de la red de telefonía. Tenga en cuenta que si inicia un 'smsto:' intención, también skype se enumerará para el usuario como un servicio de sms. – sulai

Cuestiones relacionadas