Faça chamada USSD no android

Para verificar o saldo primeiro eu tenho que fazer uma chamada* xxx # e, em seguida, recebo uma resposta com as várias opções para escolher e depois de eu inserir o número específico eu recebo o saldo.

Qual código posso usar para o mesmo no meu aplicativo Android?

Discagem* xxx * x # está me dando erro.

Abaixo está meu código, que funciona bem para as chamadas * xxx #:

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

questionAnswers(7)

yourAnswerToTheQuestion