Wie sende ich einen USSD-Code mit einem dezimalen Gleitkomma (.)?

Ich muss einen USSD-Code senden, der einen doppelten Wert enthält, der den zu übertragenden Kontostand darstellt. Dieser Wert setzt sich aus einer Ganzzahl und optional einem Dezimaltrennzeichen sowie zwei weiteren Ziffern zusammen. Mein Code sieht wie folgt aus:

    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);

Mein Telefon behandelt den Doppelwert als 135, 080 usw., wobei das Punkttrennzeichen ignoriert wird. Ich hoffe, der endgültige Code enthält "Punkt", wodurch der Dezimalwert gesendet werden kann. Jemand hat dieses Problem gelöst?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage