2010-08-12 3 views
11

Chciałbym automatycznie przekierowywać wszystkie połączenia na mój numer na nowy, wstępnie zdefiniowany numer . Czy można przekazać połączenie przychodzące?Przekazywanie połączeń

Prawdopodobnie możliwe jest przynajmniej Froyo. Znalazłem aplikację o nazwie Easy Call Forwarding. http://www.appstorehq.com/easycallforwarding-android-189596/app Ale wielu ludzi uważa, że ​​tak naprawdę nie działa.

Możemy zauważyć przekazane połączenie przez onCallForwardingIndicatorChanged() z PhoneStateListener, ale Nie mam pojęcia, jak ustawić tryb przekazywania.

+0

Pan Bogus: czy udało ci się przekazać telefon? Mr Bill_the_Lizard: Mam nadzieję, że to możliwe, mam rację? –

Odpowiedz

3

Moje rozwiązanie:

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

ja zbadałem w internecie i dostałem odpowiedź na moje pytanie, że jak można przekazywać połączenia programowo. Dodaj te linie kodu i jedna będzie w stanie to osiągnąć.

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

Tutaj 1234567890 przedstawia numer telefonu. Dodaj odpowiedni numer telefonu, jak chcesz tutaj. Można wybrać ## 21 #, aby dezaktywować usługę.

+0

Ale ten kod nie działa dla mnie – Sathish

+0

Jaki błąd otrzymujesz? Testowałem to i działa to dla mnie. Działa to również tylko dla numerów gsm. – ASH

+0

Intent.ACTION_DIAL przeniesie Cię do ekranu wybierania i Intent.ACTION_CALL zadzwoni pod numer ustawiony w setData(), a tym samym bezpośrednio wybierze numer ** 21 * your_number #. Spowoduje to automatyczne przejście telefonu w tryb przekazywania połączeń pod warunkiem, że "Twój numer" jest prawidłowy. –