при отправке сцепленных смс, могу ли я установить поле "номер ссылки" UDH на 16 бит вместо 8 бит - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть приложение для Android, которое отправляет многокомпонентные смс с помощью SmsManager.смс получен через SMPP.пропелм состоит в том, что иногда два разных сообщения приходят из приложения с одним и тем же UDH (заголовком пользовательских данных), что вызывает проблемы, когда наш способ sms gate пытается объединить разные части этих сообщений.

Я знал изэта статья в википедии о том, что UDH может использовать 16-битный ссылочный номер вместо 8 бит, что поможет снизить вероятность того, что два разных сообщения будут иметь одинаковый ссылочный номер.

здесьэто код, который я использую, который добавляет UDH с 8-битным ref.число

SmsManager sms=SmsManager.getDefault();
ArrayList messageParts = sms.divideMessage(msg);
...                       
sms.sendMultipartTextMessage(Config.SMS_NUMBER, null, messageParts, pendingIntents, null);

при отправке длинного SMS с использованием вышеуказанного кода, оно было получено на смс-шлюзе в двух частях, каждая часть содержит UDH, подобный этому

05 00 03 {4A}(8-bit ref. no.) 02 01.....
05 00 03 {4A}(8-bit ref. no.) 02 02..... 

Мой вопрос,есть ли способ заставить систему Android использовать этот 16-битный ссылочный номер?

т.е.

для получения SMS на шлюзе с UDH, например:

06 08 04 {4A FE}(16-bit ref. no.) 02 01.....
06 08 04 {4A FE}(16-bit ref. no.) 02 02..... 
...