java - 如何通过 sendDataMessage() 在一条短信中发送 140 字节

标签 java android sms smsmanager

我在不同的论坛上了解到,我们可以在一条 SMS 消息中发送 160 个(7 位)字符和 140 个(8 位)字节。

我想在一条短信中发送 140 字节的数据。 我可以成功发送最多 133 字节但不能超过 133 字节,任何人都可以指导为什么我无法通过 smsManager.sendDataMessage 在一条短信中发送 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

最佳答案

140 字节中的一部分保留给用户数据头 (UDH),其大小通常为 7 字节。更多信息可查看here.

关于java - 如何通过 sendDataMessage() 在一条短信中发送 140 字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23180842/

相关文章:

java - 将项目添加到队列末尾

android - MainActivity 在 SplashScreen 结束之前开始

sms - 如何在短信中包含特殊字符?

android - 在 samsung duos 上通过 android 使用第二张 sim 卡发送短信

java - getThreadLocalRequest().getSession(false) 始终为 null

java - 由于 SSL 问题,无法使用 JDBC 连接到 Azure(基于连接字符串和提供的示例)

android - 如何像gmail一样更改操作栏

Android:以编程方式设置编辑文本或 TextView id

android - Android 中自动检测短信

java - 如何设置 cwac-camera preview 以使用 scaleType centerCrop?