2013-01-18 19 views
6

ho creato un semplice dialer per aiutare rapidamente mi compongo servizi di provider di telefonia mobile come il controllo equilibrio dell'aria, ottenendo impostazioni Internet dal providerAndroid: semplice USSD Dialer Applicazione

//example 
phoneNum[1] = "*144#"; 

Quando fa clic su un pulsante per il controllo bilanciarlo dice di composizione

Dialing *144 

* 144 e notare l'hash non è lì, ma dovrebbe operare codice USSD se l'hash era disponibile e tornare l'equilibrio invece di chiamare. Come aggiungo l'hash all'array?

risposta

10

Si dovrebbe sfuggire il simbolo # con% 23

//example phoneNum[1] = "*144";

String encodedHash = Uri.encode("#"); 
startActivity(new Intent("android.intent.action.DIAL", 
       Uri.parse("tel:"+ phoneNum[1]+ encodedHash))); 

Per quanto riguarda la cattura la risposta, si dovrebbe sperimentare con

startActivityForResult(new Intent("android.intent.action.CALL", 
        Uri.parse("tel:"+ phoneNum[1]+ encodedHash)), 1); 
@Override 
protected void onActivityResult(int requestCode, int resultCode,Intent data) { 
    view.setText("USSD: " + requestCode + " " + resultCode + " " + data); 
} 

e vedere cosa farà che il ritorno si .

+0

Grazie per questo, cosa succede se desidero comporlo direttamente senza accedere alla finestra di composizione? – Alphy

+0

Come intendete? Quando inserisci "startActivityForResult (..)" in "onClick" del tuo pulsante, lo chiamerà automaticamente. –

+0

sì, comporre automaticamente e restituire il risultato – Alphy

Problemi correlati