Como posso fazer uma solicitação USSD em várias etapas?

Como posso fazer uma solicitação USSD em várias etapas?

Primeiro, certifique-se de definir o atraso USSD como 0 na página de perfil. Normalmente, quando você inicia a primeira solicitação USSD, ele espera 30 segundos pela próxima entrada. Se você fizer outra solicitação neste período de tempo, ele a considerará como uma entrada para a solicitação anterior. No entanto, ele funcionará apenas se sua entrada para a solicitação anterior tiver apenas 1 dígito. É uma das limitações da função USSD fornecida pelo Android SDK. Ele não suporta entrada com mais de 1 dígito. Isso não pode ser superado pelo aplicativo, porque o aplicativo depende do Android SDK para executar isso.

Para superar essa limitação, você também pode converter o código multietapas para passo único. Por exemplo, se você tem um código USSD como *786# e quer enviar 1 como resposta a ele, então você pode usar *786*1# para ver se funciona. Isso funciona para mim, então pode funcionar para você também. Você também pode fazer isso para mais de uma entrada. Por exemplo, se você tem um código USSD como *141# e quer enviar 4 como a primeira entrada e 2 como a segunda, então você pode usar *141*4*2# para ver se funciona. Isso pode funcionar de forma diferente para seu provedor USSD. Você pode perguntar ao seu provedor USSD para ver se esse código pode ser feito em uma única etapa.