2010-08-12 11 views
11

Deseo reenviar todas las llamadas a mi número al nuevo número predefinido automáticamente. ¿Es posible reenviar la llamada entrante?Desvío de llamadas

Probablemente es posible para Froyo al menos. Encontré una aplicación llamada Easy Call Forwarding. http://www.appstorehq.com/easycallforwarding-android-189596/app Pero mucha gente cree que en realidad no funciona.

Podemos notar la llamada reenviada por onCallForwardingIndicatorChanged() desde PhoneStateListener pero No tengo idea de cómo configurar el modo de reenvío.

+0

Mr Bogus: ¿ha tenido éxito en desviar una llamada? Sr. Bill_the_Lizard: Espero que esto sea posible, ¿estoy en lo cierto? –

Respuesta

3

Mi solución:

Intent intent = new Intent(Intent.ACTION_CALL); 
String prefix = "#31#";   
prefix = Uri.encode(prefix); 
intent.setData(Uri.parse("tel:"+prefix+"123456")); 
startActivity(intent); 
8

que exploró en la red y tiene la respuesta a mi pregunta de que cómo se puede desviar una llamada mediante programación. Agregue estas líneas de código y podrá lograrlo.

String callForwardString = "**21*1234567890#";  
Intent intentCallForward = new Intent(Intent.ACTION_DIAL); // ACTION_CALL        
Uri uri2 = Uri.fromParts("tel", callForwardString, "#"); 
intentCallForward.setData(uri2);         
startActivity(intentCallForward); 

Aquí 1234567890 representa el número de teléfono. Agregue el número de teléfono correspondiente como desee aquí. Uno puede marcar ## 21 # para desactivar el servicio.

+0

Pero este código no funciona para mí – Sathish

+0

¿Qué error está recibiendo? Lo he probado y funciona para mí. También esto funciona solo para números gsm. – ASH

+0

Intent.ACTION_DIAL lo llevará a la pantalla de marcado y Intent.ACTION_CALL llamará al número ingresado en setData() y, por lo tanto, marcará directamente el número ** 21 * su_número #. Esto pondrá su teléfono en el modo de reenvío de llamadas automáticamente siempre que "su_número" esté correcto. –