2

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つの異なる電話で実行しようとしています

Nokia SuperNova 7210

ポート=USB1

ポートに書き込もうとしても何も起こりません。

NokiaXpressの音楽

ポート=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

4

2 に答える 2

1

あなたが達成しようとしていることは絶対に不可能です。

あなたのアプローチは、Java MEがCOMMポートを介してGSMモデムへのアクセスを提供した場合にのみ機能しますが、そうではありません。

(これを提供するデバイスがどこかにある可能性があると思います。JavaMEランドでは何でも可能ですが、これを見たり聞いたりしたことはありません)。

参照しているライブラリは、COMMポートを介してデバイスが接続されているPCで実行され、JavaMEコンテキストでは機能しません。

あなたが本当にやろうとしているのは、MIDletを介して受話器のネイティブSMS受信ボックスにアクセスすることだと思います。私はあなたに約束します、これをする方法は絶対にありません!

于 2012-06-28T07:05:57.397 に答える
0

SMSを送信するだけの場合は、APDUを使用してSMSにアクセスできる可能性があります。技術的には可能だと思われます。

まず、JSR177SATSA-APDUが必要になります。http://www.developer.nokia.com/Community/Wiki/Java_ME_API_support_on_Nokia_devicesでサポートされているNokiaデバイスを確認してください

次に、STKアプレットと同じようにSMSAPDUを作成する必要があります。http://www.dreamfabric.com/sms/で「PDUモードでメッセージを送信する」を確認してください。

私はこれを試しませんでしたが、これは私がしなければならなかった場合に私が行く道です。それがあなたとうまくいくなら、共有してください。

于 2012-06-28T15:06:16.783 に答える