videollamada una por llamadas llamada hacer grupo grupales grupal descargar cómo conferencia como activar android whatsapp

android - una - videollamada whatsapp grupo



Respondiendo a una videollamada de Whatsapp programáticamente (3)

¿Hay alguna forma de responder automáticamente las videollamadas de WhatsApp usando AccessibilityService en Android?

O ¿hay alguna manera de estimular un clic en el botón de respuesta de llamadas de los auriculares / bluetooth? ¿Cómo puedo obtener la identificación del botón de respuesta? Para realizar un clic con el servicio de accesibilidad.

Sé que a partir de Android 8.0 Oreo tenemos permiso ANSWER_PHONE_CALLS, pero para mi proyecto quiero usar un dispositivo antiguo para monitoreo remoto.

¡Cualquier ayuda sería apreciada!

----- Actualización: Gracias a la respuesta del Sr. hemisphire y el Sr. Kahbazi, la aplicación puede responder la llamada, ¡pero debe ser una aplicación de sistema para funcionar! ¿Hay alguna forma de hacerlo funcionar sin ser una aplicación de sistema? sin el botón del auricular hackear?

public class AnswerCall extends AccessibilityService { @Override public void onAccessibilityEvent( AccessibilityEvent event ) { if(event.getEventType() == TYPE_WINDOW_CONTENT_CHANGED) { if(event.getPackageName().equals("com.whatsapp")) { Thread thread = new Thread() { @Override public void run() { try { while(true) { Instrumentation inst = new Instrumentation(); inst.sendKeyDownUpSync(KeyEvent.KEYCODE_HEADSETHOOK); } } catch (InterruptedException e) { e.printStackTrace(); } } }; thread.start(); StringBuilder sb = new StringBuilder(); List<CharSequence> texts = event.getText(); if (!texts.isEmpty()) { for (CharSequence s : event.getText()) { sb.append(s); } if(sb.toString().equals("Incoming video call")) Log.d( "onAccessibilityEvent", "whatsapp video call" ); } } } } @Override public void onInterrupt() { } }


No creo que puedas hacer lo que quieres. Usando el Servicio de Accesibilidad puede saber cuándo entra la llamada de video:

@Override public void onAccessibilityEvent( AccessibilityEvent event ) { if(event.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) { if(event.getPackageName().equals("com.whatsapp")) { StringBuilder sb = new StringBuilder(); List<CharSequence> texts = event.getText(); if (!texts.isEmpty()) { for (CharSequence s : event.getText()) { sb.append(s); } if(sb.toString().equals("Incoming video call")) { Log.d( "onAccessibilityEvent", "whatsapp video call" ); } } } } }

Sin embargo, nunca he podido responder a la llamada programáticamente. La pregunta en ¿Cómo pueden contestarse las llamadas entrantes mediante programación en Android 5.0 (Lollipop)? hace un gran trabajo al enumerar todas las opciones posibles, pero la mayoría requiere root y / o ser una aplicación del sistema.


Puede usar el método sendKeyDownUpSync de la clase Instrumentation .

Instrumentation inst = new Instrumentation(); inst.sendKeyDownUpSync(KeyEvent.KEYCODE_HEADSETHOOK);

Si este código no funcionó, intente usar otro KeyEvent para encontrar el correcto.

Puede ver la lista de KeyEvent desde este enlace: https://developer.android.com/reference/android/view/KeyEvent.html

Puedes consultar más información desde aquí: Instrumentation