J2MEアプリケーション内でATコマンドを実行する方法を知りたい。私が簡単に取っているアプローチは以下の通りです:
まず、電話に存在するすべてのポートを取得します。
String ports = System.getProperty("microedition.commports");
ここで、「AT」と書き込んで、各ポートからの応答を待ちます(YES私はそれぞれ言った!!!)
try{
commConnection = (CommConnection) Connector.open("comm:" + portsArr[i] + ";baudrate=19200");
} catch (IOException e) {
print("IOException:Port:" + portsArr[i] + "~Mess: " + e.getMessage());
}
あるポートから「OK」を取得したら、同じ方法で目的のコマンドを実行できます。
私はこれを2つの異なる電話で実行しようとしています
ポート=USB1
ポートに書き込もうとしても何も起こりません。
ポート=USB2、COM1、IR1、USB1、BT1、BT2、BT3、BT4、BT5、BT6、BT7、BT8、BT9、BT10、BT11、BT12、BT13、BT14、BT15、BT16、BT17、BT18、BT19、BT20、 BT21、BT22、BT23、BT24、BT25、BT26、BT27、BT28、BT29、BT30、BT31、BT32、BT33、BT34、BT35、BT36、BT37、BT38、BT39、BT40、BT41、BT42、BT43、BT44、BT45、 BT46、BT47、BT48、BT49、BT50、BT51、BT52、BT53、BT54、BT55、BT56、BT57、BT58、BT59、BT60、BT61、BT62、BT63、BT64
USB2、COM1、BT1ポートに書き込もうとすると
IOException:Port:COM1~Mess: SymbianOS error = -1 : General:
System error
IOException:Port:USB1~Mess: SymbianOS error = -21 : General:
System error
IOException:Port:BT1~Mess: SymbianOS error = -44 : General:
System error
これは正しいアプローチですか?
SmslibはATコマンドを使用しますが、ATコマンドを実行する方法や、ATコマンドを書き込むポートを取得する方法がわかりません。
J2MEで不可能な場合は、両方が通信でき、ソリューションがほとんどのベンダーをサポートする限り、ATコマンドの実行を他の言語で記述しなくてもかまいません。
関連-https://stackoverflow.com/questions/3803508/can-i-use-at-commands-insider-j2me-app