Como enviar um código USSD contendo ponto flutuante decimal (.)?
Preciso enviar um código USSD contendo um valor duplo, que representa o valor da conta do saldo a ser transferido. Este valor é composto por um número inteiro e, opcionalmente, um separador decimal e mais 2 dígitos. Meu código é o seguinte:
double doubleValue = 0.70;
String phoneNumber = "51234567", pincode = "1234";
String ast = Uri.encode("*");
String baseUssd = ast + "234" + ast + "1" + ast + phoneNumber + ast + pincode + ast;
StringBuilder builder = new StringBuilder();
builder.append(baseUssd);
builder.append(doubleValue); //i.e: 1.35, 0.80
builder.append(Uri.encode("#"));
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + builder.toString()));
startActivity(intent);
Meu telefone trata o valor duplo como 135, 080 etc. ignorando o caractere separador de pontos. Espero que o código final inclua "ponto", permitindo enviar o valor decimal. Alguém resolveu esse problema?