Мне нужно отправить код USSD, содержащий двойное значение, которое представляет собой сумму баланса счета, которую нужно перевести. Это значение состоит из целого числа и, при необходимости, десятичного разделителя и еще двух цифр. Мой код выглядит следующим образом:
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);
Мой телефон обрабатывает doubleValue как 135, 080 и т. д., игнорируя символ разделителя точек. Я надеюсь, что окончательный код включает «точку», позволяющую отправить десятичное значение. Кто-то решил эту проблему?