Muszę przesłać kod USSD zawierający podwójną wartość, która reprezentuje kwotę salda do przeniesienia. Ta wartość składa się z liczby całkowitej i opcjonalnie z separatora dziesiętnego i 2 dodatkowych cyfr. Mój kod wygląda następująco:Jak wysłać kod USSD zawierający dziesiętny zmiennoprzecinkowy (.)?
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);
Mój telefon traktuje podwójną wartość jako 135, 080 itd. Ignorując znak separatora kropek. Mam nadzieję, że końcowy kod zawiera "kropkę", co pozwala przesłać wartość dziesiętną. Ktoś rozwiązał ten problem?
Oczywiście, że to zrobię :) –
Jutro zacznę tutaj nagrodę, ale myślę, że musisz dodać więcej kodu, np. Vars * doubleValue * i * pincode *, to może pomóc innemu użytkownikowi znaleźć odpowiedź –
ty masz jakiś postęp? –