2010-08-12 12 views
11

Desidero inoltrare tutte le chiamate al mio numero al nuovo numero predefinito automaticamente. È possibile inoltrare la chiamata in arrivo?Deviazione di chiamata

Probabilmente è possibile per Froyo almeno. Ho trovato un'applicazione chiamata Easy Call Forwarding. http://www.appstorehq.com/easycallforwarding-android-189596/app Ma molte persone credono che in realtà non funzioni.

Possiamo notare chiamata inoltrata da onCallForwardingIndicatorChanged() da PhoneStateListener ma non ho idea di come impostare la modalità di inoltro.

+0

Signor Bogus: sei riuscito a inoltrare una chiamata? Mr Bill_the_Lizard: Spero che sia possibile, ho ragione? –

risposta

3

La mia soluzione:

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

ho esplorato in rete ed ha ottenuto la risposta alla mia domanda che come si può inoltrare una chiamata di programmazione. Aggiungi queste linee di codice e una sarà in grado di raggiungerlo.

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

Qui 1234567890 rappresenta il numero di telefono. Aggiungi il numero di telefono appropriato come desideri qui. Si può comporre ## 21 # per disattivare il servizio.

+0

Ma questo codice non funziona per me – Sathish

+0

Che errore ottieni? Ho provato questo e funziona per me. Anche questo funziona solo per i numeri di GSM. – ASH

+0

Intent.ACTION_DIAL ti porterà alla schermata di composizione e Intent.ACTION_CALL chiamerà il numero inserito in setData() e quindi comporrà direttamente il numero ** 21 * numero_questione. In questo modo il telefono passerà automaticamente alla modalità di inoltro delle chiamate, a condizione che "il tuo numero" sia corretto. –

Problemi correlati