¿Anular la llamada entrante?

Hola Me preguntaba si hay una manera de anular la llamada entrante pantalla para agregar más funcionalidad a ella? Si es así, ¿podría señalarme en la dirección correcta o proporcionar algún código de ejemplo?

————————————————– EDIT: ————————–

Tengo el receptor funcionando bien cuando llega la llamada, pero ¿cómo voy a obtener la ventana actual para anular la pantalla de llamada? Esto es lo que conseguí hasta ahora … pero consigo un classCastException que intenta echar a la actividad del contexto, no puedo pensar en ninguna otra manera de conseguir el acceso a la ventana.

@Override public void onReceive(Context context, Intent intent) { Bundle extras = intent.getExtras(); if (extras != null) { String state = extras.getString(TelephonyManager.EXTRA_STATE); Log.w("DEBUG", state); Log.w("DEBUG", "-------------------------------------------------- Broadcast Received"); if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) { String phoneNumber = extras .getString(TelephonyManager.EXTRA_INCOMING_NUMBER); Log.w("DEBUG", phoneNumber); Activity activity = (Activity)context.getApplicationContext(); Window window = activity.getParent().getWindow(); window.addContentView(window.findViewById(R.layout.textalertbuttonview),null); Log.w("DEBUG", "------------------------Button Added"); } } else { Log.w("DEBUG", "---------------------------------------------------no Extras"); } } 

————————————————– EDIT 2: ————————–

Después de algunas investigaciones, no parece que pueda agregar elementos a la pantalla de llamadas entrantes. Así que tendré que hacer mi propia vista y anular la pantalla de llamadas entrantes. Pero todavía estoy abierto para las ideas … Vi la llamada entrante más, pero no puede encontrar el código fuente para ese proyecto.

Hablando en general: Puede configurar un BroadcastReceiver escuchando PHONE_STATE:

 <receiver android:name=".CallsBroadcastReceiver" android:enabled="true"> <intent-filter> <action android:name="android.intent.action.PHONE_STATE" /> </intent-filter> </receiver> 

Entonces dentro de este receptor (después de comprobar el estado del teléfono que desea manejar (tocando, en la llamada, ahorcado, etc) debe obtener la ventana actual (que debería ser la pantalla de llamada) y añadir una vista a ella. Por supuesto, eliminar la vista una vez que el estado no es el que desea manejar.

Muy general, pero esa es la idea.

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