Как запустить USSD команды на Android? - PullRequest
12 голосов
/ 29 августа 2011

кто-нибудь знает, как запустить USSD-команду для проверки кредитного баланса телефона (номер * 123 #) и получить результат (кредитный баланс) для дальнейшей обработки ??thankss

Ответы [ 2 ]

25 голосов
/ 29 августа 2011

Вы можете запускать USSD-коды на устройствах Android, но не сможете проанализировать результат в вашем приложении. Эта функция может быть добавлена ​​в Android SDK в будущем, но сейчас вам придется искать альтернативу.

USSD может быть запущен с использованием простых намерений вызова. Смотрите пример:

String ussdCode = "*" + "123" + Uri.encode("#");
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + ussdCode)));

как указано в комментариях, требуется разрешение на телефонный звонок

<uses-permission android:name="android.permission.CALL_PHONE" /
4 голосов
/ 28 марта 2014

Вы можете использовать «% 23» вместо «#»:

String ussdCode = "*" + "123"+"%23";
startActivity(new Intent("android.intent.action.CALL", Uri.parse("tel:" + ussdCode)));

Вы также должны добавить разрешение в свой файл манифеста:

<uses-permission android:name="android.permission.CALL_PHONE" />
...