Набор номера телефона с символами * - PullRequest
2 голосов
/ 30 января 2012

Сбой в моем приложении для Android, все нормальные числа работают хорошо.

Я обнаружил, что Apple явно запрещает набор таких номеров из-за боязни переадресации вызовов, но не могу найти документально подтвержденную причину сбоя в Android SDK

Можете ли вы указать мне документ с указанием причины?

Спасибо

Ответы [ 2 ]

1 голос
/ 08 сентября 2013

У меня тоже была эта проблема, и я думаю, что последний ответ верен, но я предлагаю вам использовать этот код для набора номера типа *8373* 1001 *

String star = Uri.encode("*");
        String Hash = Uri.encode("#"); // if you want use # to add in your number! :)
        Intent call = new Intent(Intent.ACTION_CALL);
        Charge.setData(Uri.parse("tel:" + star +"8373"));
        startActivity(Charge);
1 голос
/ 30 января 2012

Возможно, вы имеете в виду набор кода USSD.Если это так - тогда это длинная и интригующая история, поскольку она все еще среди запросов функций Android (взгляните на Запрос функций: добавьте поддержку USSD API ).

Насколько я знаю, для решения этой проблемы существует единственный обходной путь с использованием Uri.encode:

startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(“tel:” + Uri.encode(strPhoneNumber))));

, и вам также нужны эти разрешения в файле манифеста:

android.permission.CALL_PHONE
android.permission.CALL_PRIVILEGED 
android.permission.MODIFY_PHONE_STATE 
...