Итак, 1 SMS на латинице вмещает до 160 символов, 1 SMS на кириллице — 70 символов.
Если Вы хотите отправить длинное сообщение в 2 части и более, то 1 часть SMS на латинице сможет содержать до 153 символов, а 1 SMS на кириллице — до 67 символов.
Исходный код, приведенный ниже работает хорошо, только если в сообщении до 67 символов Кириллицей, а если символов в сообщении 68 и более, то SMS не отправляется.
uses Androidapi.JNI.JavaTypes, Androidapi.JNI.Telephony, Androidapi.Helpers;
...
procedure TFrmMain.BtnSendSmsClick(Sender: TObject);
var
SmsTo: JString;
SmsManager: JSmsManager;
begin
SmsManager := TJSmsManager.JavaClass.getDefault;
SmsTo := StringToJString('+79*********');
SmsManager.sendTextMessage(smsTo, nil, StringToJString('Test SMS'), nil, nil);
end;
Я понимаю, что при превышении определенного кол-ва символов, SMS должна форматироваться в MMS, но отправка все равно не происходит.
Собственно вопрос, как решить эту проблему.