Índice

Gestión de las llamadas y los mensajes

Telefonía (Telephony) representa la API de Android que gestiona la voz y los datos (llamadas, SMS, datos, etc.).

En los inicios de Android, todos los dispositivos que tenían esta API -y, por lo tanto, las aplicaciones que utilizaban esta API- no sufrían el problema de fragmentación. Pero desde la llegada de los dispositivos Android equipados con Wi-Fi (como las tablets), el uso de la API por parte de las aplicaciones depende del dispositivo.

La utilización de esta API en una aplicación requiere implementar una gestión para los dispositivos que no la tienen.

Si su aplicación sólo puede usarse en un dispositivo que disponga de esta API, debe especificarlo en su archivo de manifiesto. Esta declaración permitirá que Google Play no ofrezca su aplicación para descargar en dispositivos que no tengan esta API.

A continuación tenemos la declaración que debe añadir en su archivo de manifiesto para especificar este requerimiento:

<uses-feature android:name="android.hardware.telephony" 
        android:required="true"/>

Si el uso de la telefonía es importante en su aplicación pero no imprescindible y simplemente desea desactivar algunas funcionalidades, puede comprobar dinámicamente en su aplicación la presencia o ausencia de estas funcionalidades mediante el método hasSystemFeature.

PackageManager packageManager = getPackageManager(); 
boolean ...