2016-12-05 2 views
0

Ich versuche USSD Aufruf zum Senden AT Befehl zu machen. Wenn ich Code ausführen, bekomme ich folgende Fehlermeldung:AT Befehl: USSD

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

Mein Code ist:

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(); 
} 

Was kann getan werden, um dieses Problem zu lösen?

Antwort

0

Es scheint, dass Sie ein grundlegendes Verständnis dafür haben, was AT-Befehle sind und wie sie funktionieren. AT-Befehle sind nicht etwas, das Sie an eine Shell weitergeben oder das Betriebssystem wie Runtime.getRuntime().exec(args) impliziert. AT-Befehle sind Textbefehle, die Sie über eine serielle Schnittstelle (z. B. USB, Bluetooth, RS-232 oder eine virtuelle) an ein Modem senden.

Der absolut beste Ort für Sie zu starten ist, lesen Sie alle Kapitel 5 der V.250 specification. Es ist ein extremely important Dokument, das Ihnen garantiert viel mehr über AT-Befehle beibringen wird, als Sie derzeit wissen.