¿Cómo responder programáticamente a una llamada en Android 4.0.3?
Entonces, como indica el sujeto, necesito poder contestar una llamada telefónica programáticamente en Android 4.0.3 en un HTC OneX. He leído varios lugares que losMODIFY_PHONE_STATE
Google ha revocado el permiso, por lo que para realizar esta tarea necesita una solución.
He mirado en dos avenidas hasta ahora:
(1) Siguiendo la publicación de Guyaquí y usando un BroadcastReceiver
(2) Usar el siguiente código para intentar golpear un evento clave a través de un comando de shell.
final Runtime r = Runtime.getRuntime();
try {
Process process = r.exec("input keyevent 5");
InputStream stream = process.getErrorStream();
log.v("Process Error Stream: " +stream.toString());
log.v("Sending shell command to Answer Call");
} catch (Exception e) {
log.v("Stack Trace: " + e.getStackTrace().toString());
e.printStackTrace();
}
Uso esto porque Keyevent 5 es KeyEvent.CALL de acuerdo con Google y funciona en adb usando
adb shell input keyevent 5
Mi pregunta es, ¿qué estoy haciendo mal? Debido a que, lógicamente, ambos métodos tienen sentido, pero ninguno de ellos funciona ni genera errores de tiempo de ejecución de ningún tipo.
Aclamaciones