¿Cómo enviar un código USSD que contiene coma flotante decimal (.)?
Necesito enviar un código USSD que contenga un valor doble, que represente el saldo de la cuenta a transferir. Este valor está compuesto por un número entero y, opcionalmente, un separador decimal y 2 dígitos más. Mi código se ve de la siguiente manera:
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);
Mi teléfono trata el valor doble como 135, 080, etc., ignorando el carácter separador de puntos. Espero que el código final incluya "punto", lo que permite enviar el valor decimal. Alguien resolvió este problema?