2016-12-05 5 views
0

J'essaye de faire l'appel USSD pour envoyer la commande AT. Quand j'exécute le code, je reçois l'erreur suivante:AT Command: USSD

"Error running exec(). Command: [AT+CUSD=1,"*222#",15] Working Directory: null Environment: null"

Mon code est:

String args="AT+CUSD=1,\"*222#\",15"; 
try { 
    java.lang.Process process=Runtime.getRuntime().exec(args); 
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); 
    Log.e("zoraf",bufferedReader.toString()); 

} catch (IOException e) { 
    e.printStackTrace(); 
} 

Que peut-on faire pour résoudre ce problème?

Répondre

0

Il semble que vous ne maîtrisez pas les commandes AT et comment elles fonctionnent. Les commandes AT ne sont pas quelque chose que vous transmettez à un shell ou au système d'exploitation comme l'implique Runtime.getRuntime().exec(args). Les commandes AT sont une commande de texte que vous envoyez à un modem via une interface série (par exemple, USB, Bluetooth, RS-232 ou virtuelle).

Le meilleur endroit pour commencer est de lire tout le chapitre 5 du V.250 specification. C'est un document extremely important qui vous en apprendra beaucoup plus sur les commandes AT que vous ne le savez actuellement.