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