我想将字符串s5,s6,s7,s8添加到sms android

时间:2017-04-05 04:28:41

标签: android

我想将字符串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);

3 个答案:

答案 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方面是不错的选择。