Сообщение данных Android (двоичное SMS)

#android #sms #message #binary-data

#Android #sms #Сообщение #двоичные данные

Вопрос:

Я подумываю об использовании SmsManager.sendDataMessage для одного из моих приложений. Кто-нибудь может дать мне знать:

  1. Является ли ограничение по размеру (количество символов) для сообщения данных таким же, как для текстового сообщения?
  2. Если нет, то в чем причина этого и каков предел?
  3. Какое ограничение использует SmsManager.divideMessage, ограничение текстовых сообщений или ограничение сообщений данных?

Ответ №1:

  1. Нет, они разные.

  2. из версии smpp 3.4 —- снип —- 6.2 Максимальная длина сообщения Каждое изменение сети ограничено некоторой фиксированной максимальной длиной. На это может дополнительно влиять схема кодирования данных. SMSC, в зависимости от конфигурации, может отклонять или усекать сообщения, которые превышают максимально допустимый уровень сети. —- snip —-

    При интеграции с оператором мобильной связи вам следует ознакомиться с их документацией, в которой должно быть указано, какую кодировку вы должны использовать и ее соответствующую длину. Затем перепроверьте с вашей реализацией.

  3. ни то, ни другое. он проверяет кодировку сообщения и определяет максимальную длину для этого сообщения. затем он добавит подстроку к исходному сообщению и вернет разделенные сообщения в ArrayList.

    Прочитайте здесь о том, как вызывается divideMessage. http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.2_r1.1/android/telephony/SmsManager.java#SmsManager.divideMessage(java.lang.Строка) http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.2_r1.1/android/telephony/SmsMessage.java#SmsMessage.fragmentText(java.lang.Строка)