1

Android から SMS を送信する方法を知っています。とても簡単です:

var   
  smsTo: JString;
  smsManager: JSmsManager;
begin
  smsManager := TJSmsManager.JavaClass.getDefault;
  smsTo := StringToJString('number_xxx');
  smsManager.sendTextMessage(smsTo, nil, StringToJString('Test SMS'), nil, nil);

しかし、問題は次のとおりです: 配達先に SMS を送信するにはどうすればよいですか? Delphi XE5で可能ですか?

回答ありがとうございます。ジョージ

4

1 に答える 1

1

Androidのドキュメントから:

パラメーター

  • destinationAddress メッセージを送信するアドレス
  • scAddress 現在のデフォルト SMSC を使用する場合は、サービス センターの住所または null です。
  • text送信するメッセージの本文
  • sentIntent NULL でない場合、この PendingIntent は、メッセージが正常に送信されたとき、または失敗したときにブロードキャストされます。結果コードは、成功の場合は Activity.RESULT_OK、または次のいずれかのエラーになります: RESULT_ERROR_GENERIC_FAILURE RESULT_ERROR_RADIO_OFF RESULT_ERROR_NULL_PDU。アプリケーションごとの SMS コントロールは、sentIntent をチェックします。sentIntent が NULL の場合、発信者はすべての不明なアプリケーションに対してチェックされます。これにより、チェック期間に送信される SMS の数が少なくなります。
  • deliveryIntent NULL でない場合、この PendingIntent は、メッセージが受信者に配信されるときにブロードキャストされます。ステータス レポートの生の pdu は、拡張データ (「pdu」) にあります。

コードの最後の 2 つのパラメーターが明らかに不足しています。

Java でこれを行う方法は次のとおりです。これは非常に簡単ですが、Delphi では少し難しくなります。ここで答えを見てください。最も興味深いのは、回答の最初のリンクです。

基本的に、JNI ラッパーを使用して Java クラスと直接通信する必要があります。Delphi はここで必要な機能を公開していないためです。少なくとも私は何も知りません。

幸運を!

于 2013-10-19T13:15:13.747 に答える