2011-08-29 17 views
9

qualcuno sa come eseguire il comando USSD per controllare il saldo del credito del telefono (il numero è * 123 #) e ottenere il risultato (il saldo del credito) per un'ulteriore elaborazione? grazieCome eseguire i comandi USSD su Android?

+0

possibile duplicazione di [Come è possibile fare richieste USSD su Android?] (http://stackoverflow.com/questions/5477597/how-is-it-possible-to-do-ussd-requests-on-android) –

risposta

22

È possibile eseguire i codici USSD nei dispositivi Android ma non si è in grado di analizzare il risultato nell'applicazione. Questa funzione potrebbe essere aggiunta all'SDK Android in futuro, ma per il momento, dovresti cercare un'alternativa.

USSD può essere eseguito utilizzando semplici intenti di chiamata. Vedere Esempio:

String ussdCode = "*" + "123" + Uri.encode("#"); 
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + ussdCode))); 

come indicato nel permesso di commenti telefonata è anche necessario

<uses-permission android:name="android.permission.CALL_PHONE"/
+0

grazie Bosah .. buona giornata .. :) –

+3

puoi sostituire '" android.intent.action.CALL "' di 'Intent.ACTION_CALL' –

+0

dovresti chiamare il permesso sul tuo manifesto aggiungendo questa riga: ** ** –

2

È possibile utilizzare "% 23" invece di "#":

String ussdCode = "*" + "123"+"%23"; 
startActivity(new Intent("android.intent.action.CALL", Uri.parse("tel:" + ussdCode))); 

si dovrebbe aggiungi anche il permesso per il tuo file manifest:

<uses-permission android:name="android.permission.CALL_PHONE" /> 
+0

non c'è modo di analizzare il risultato ussd, ho bisogno di catturare il saldo di il mio telefono a intervalli regolari, –