В моем приложении для 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
выше, это не сработает.
Я знаю, что буквенные символы нельзя использовать при наборе кода с помощью панели набора номера, но я думал, что это возможно программно!!
Любая идея, пожалуйста!
Изменить
Когда я пытаюсь отправить это программно: #144#73MA#
, я заметил, что приложение номеронабирателя изменяет буквенные символы на соответствующие им цифры на панели набора номера. Это означает, что номеронабиратель преобразует это: #144#73MA#
этому #144#73
62
#
: почему?
Потому что :
M
соответствует цифре6
A
соответствует цифре2