Sustitución de la aplicación de llamada

Fondo

Estoy tratando de desarrollar una aplicación muy simple en la llamada para reemplazar la versión de stock. Básicamente, sólo quiero responder a las llamadas entrantes y presentar al usuario con una simple interfaz de usuario personalizada. No hay necesidad de llamadas salientes o cualquier cosa de lujo.

Buscando en la web he encontrado el paquete android.telecom.incallservice (disponible en la API 23). "Este servicio es implementado por cualquier aplicación que desee proporcionar la interfaz de usuario para gestionar llamadas telefónicas".

Parece prometedor, pero estoy teniendo problemas para que funcione. He creado un servicio simple que extiende InCallService y lo declaré en mi manifiesto como lo describen los documentos. Sin embargo, espero poder cambiar la aplicación de teléfono por defecto en los ajustes a mi propio, pero sólo puedo encontrar la aplicación de teléfono de stock.

Código

Esta es la declaración de manifiesto de los documentos. He reemplazado BIND_IN_CALL_SERVICE con BIND_INCALL_SERVICE ya que supongo que esto es un error tipográfico.

<service android:name="your.package.YourInCallServiceImplementation" android:permission="android.permission.BIND_INCALL_SERVICE"> <meta-data android:name="android.telecom.IN_CALL_SERVICE_UI" android:value="true" /> <intent-filter> <action android:name="android.telecom.InCallService"/> </intent-filter> </service> 

Preguntas

  1. ¿Es posible incluso que una aplicación de terceros reemplace el predeterminado en la aplicación de llamada?

  2. ¿Hay implementaciones de ejemplo utilizando este API que puedo usar como referencia? He encontrado la implementación de Google , pero esta es una aplicación del sistema que hace uso de algunos permisos que no están disponibles para otras aplicaciones (por ejemplo: android.permission.MODIFY_PHONE_STATE).

  3. ¿Estoy correcto en el supuesto de que después de proporcionar un registro de manifiesto InCallService correcto y una implementación de stub, podría esperar encontrar mi aplicación en Default Apps -> Phone? ¿Necesito declarar algo más?

Gracias.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.