我想将字符串s5,s6,s7,s8添加到sms但它接受并在消息上显示仅在s5之后在android上执行操作并且仅发送到s5我如何通过短信发送所有字符串
String s = n.getText().toString();
String s1 = ci.getText().toString();
String s2 = cn.getText().toString();
String s3 = sr.getSelectedItem().toString();
String s4 = mn.getText().toString();
String s5 = ml.getText().toString();
String s6 = spt.getSelectedItem().toString();
String s7 = sui.getSelectedItem().toString();
String s8 = d.getText().toString();
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage("phone number", null,
"Name:" + s +
"\nCollege id:" + s1 +
"\nContact no:" + s2 +
"\nYour Role:" + s3 +
"\nMachine Number:" + s4 +
"\nMachine Location:" + s5 +
"\nMachine Location:" + s6 +
"\nproblemDescription:" + s7 +
"\nroleCombobox:" + s8
, sentPI, deliveredPI);
答案 0 :(得分:0)
您知道短信长度限制为160个字符。
不显示文本后字符串s5不是问题。实际问题是字符限制,因此您可以分两部分发送短信。
答案 1 :(得分:0)
使用sendMultipartTextMessage,您需要将长消息分解为字符串的ArrayList。然后根据需要发送尽可能多的SMS。简而言之:
SmsManager sms = SmsManager.getDefault();
ArrayList<String> parts = sms.divideMessage(longMessage);
sms.sendMultipartTextMessage(phoneNumber, null, parts, null, null);
答案 2 :(得分:0)
您可以使用stringbuilder
并检查字符串的长度是否大于160个字符或更大,如果大于该长度则将字符串分成几个半部分。另外,使用字符串构建器在performance
方面是不错的选择。