У меня есть приложение, которое отправляет некоторые USSD-коды. В одном типе ситуации от действий пользователя с интерфейсом, в другом - при получении SMS (с подстановочным знаком).
У меня есть код для отправки USSD:
private static void setCallDivert (Context context, String phoneNo) {
String callForwardString = "**21*" + phoneNo + "#";
Log.i("Call forward string", callForwardString);
Intent intentCallForward = new Intent(Intent.ACTION_CALL);
intentCallForward.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri uri2 = Uri.fromParts("tel", callForwardString, "#");
intentCallForward.setData(uri2);
context.startActivity(intentCallForward);
divertDbRecord (context, true, phoneNo);
}
Когда он вызывается из метода кнопки onClick, он работает нормально.
Когда он звонит из обработчика SMS, появляется сообщение «Проблема соединения с переадресацией вызова или неверный код MMI».
В logcat я вижу запрос. Это одно и то же в обеих ситуациях.
Конечно, я тестировал его на реальном телефоне Android, а не на эмуляторе.
Может быть, кто-то может мне помочь?