Согласно этому посту на блоге разработчиков Android, можно изменить номер исходящего звонка: http://android -developers.blogspot.com / 2011/01 / processing-order-broadcasts.html
Проблема в том, что он не работает для меня, мой код:
String action = intent.getAction();
if (Intent.ACTION_NEW_OUTGOING_CALL.equals(action)) {
// Try to read the phone number from previous receivers.
String phonenumber = getResultData();
if (phonenumber == null) {
// We could not find any previous data. Use the original
// phone
// number in this case.
phonenumber = intent
.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
}
String reformatedNumber = reformatNumber(phonenumber);
setResultData(reformatedNumber);
}
Несмотря на то, что я переформатирую номер, набираемый номер телефона является вызываемым.
Любое понимание?
У меня есть эти разрешения в моем манифесте:
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.CALL_PRIVILEGED" />
Странно, что, когда я звоню, я набираю номер, который не хранится в телефонной книге, у меня естьСлужба, которая пытается выяснить, кому я звоню, и мне нужно нажать кнопку «Позвонить» в диалоговом окне, чтобы завершить звонок.Тогда мой код работает, но когда я звоню кому-то из телефонной книги или отключаю сервис поиска, он не работает.