Програмно пренасочване на повиквания за android

Искам да препращам всички получени обаждания към друг предварително зададен телефонен номер. Търсих във форуми и намерих някои противоречиви отговори. така че съм объркан.

Първо погледнах тази публикация https://stackoverflow.com/a/5735711, която предполага, че не е възможно чрез android. Но друга публикация има някакво решение. https://stackoverflow.com/a/8132536/1089856

Опитах този код от втората публикация, но получавам следното съобщение за грешка: „Проблем с връзката с пренасочване на повикване или невалиден MMI код.“

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

Където 5556 е номерът на емулатора (за тестване), където искам да препратя повикване.


person Mudassir    schedule 09.12.2011    source източник


Отговори (2)


Мисля, че трябва да го изпробвате на устройството по-добре от емулатора. Използвате DTMF кодове, така че мисля, че ви трябва мрежа (на действителното устройство), а не на емулатора.

Наберете същия код "**21*5556#" на вашия емулатор и проверете. И това не работи! Заменете 5556 с телефонния номер, към който искате да пренасочите обаждането, и след това опитайте на телефона.

Това означава, че DTMF кодовете ще работят само на мобилни телефони, а не на емулатори или таблети без SIM поддръжка.

РЕДАКТИРАНЕ: можете да намерите различни кодове за пренасочване на обаждания тук.

person Pallavi    schedule 12.12.2011
comment
Как можем програмно да знаем различните кодове за препращане? - person Umang Kothari; 11.12.2014

Премахнете "#" от Uri uri2 = Uri.fromParts("tel", callForwardString, "#"); ако това не работи, опитайте просто *21*номер#

person rootchanger1    schedule 16.07.2019