1

別のフォーラムで、1 つの SMS メッセージで 160 (7 ビット) 文字と 140 (8 ビット) バイトを送信できることを読みました。

1 回の SMS で 140 バイトのデータを送信したい。私は 133 バイトまでは正常に送信できますが、133 バイトを超えることはできません。smsManager.sendDataMessage を介して 1 つの SMS で 140 バイトの 8 ビット データを送信できない理由を教えてください。

以下は私のコードです。

      int MAX_SMS_MESSAGE_LENGTH = 140;
      byte[] bArray = new byte [MAX_SMS_MESSAGE_LENGTH];
      for(int i=0;i<MAX_SMS_MESSAGE_LENGTH;i++)
      {
           bArray[i] = (byte)i;
      }
      PendingIntent sent = this.createPendingResult(SENT, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT);
      String messageText = _message.getText().toString();

     SmsManager smsManager = SmsManager.getDefault();
     smsManager.sendDataMessage(_phoneNumber.getText().toString(), null, SMS_PORT, bArray, sent, null);

期待に感謝し、

よろしく、

AK

4

1 に答える 1

1

140 バイトの一部は、通常 7 バイトのサイズのユーザー データ ヘッダー (UDH) 用に予約されています。詳細については、こちらをご覧ください。

于 2014-04-20T10:13:35.563 に答える