Отправка кода USSD с буквенными символами
В моем приложении для Android я отправляюUSSD
коды (#144#73#
) используя нижеIntent
:
String baseUssd = Uri.encode("#") + "144" + Uri.encode("#");
StringBuilder builder = new StringBuilder();
builder.append(baseUssd);
builder.append("73");
builder.append(Uri.encode("#"));
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + builder.toString()));
Работает хорошо.
Теперь я хочу отправить этот код:
#144#73MA#
Я запускаю это с помощью клавиатуры набора номера, следуяОператор USSD меню, это сработало. Но если я попытаюсь сделать этопрограммно используя вышеIntent
это не сработало.
Я знаю, что буквенные символы нельзя использовать при наборе кода с помощью Dial Pad, но я думаю, что это возможно программно !!
Любая идея, пожалуйста!
редактировать
Когда я пытаюсь отправить это программно:#144#73MA#
Я заметил, что приложение Dialer меняет буквенные символы на соответствующие имцифра в панели набора номера. Это означает, что номеронабиратель преобразует это:#144#73MA#
к этому#144#73
62
#
: Зачем ?
Так как :
M
соответствует цифре6
A
соответствует цифре2