user3021001
user3021001

Reputation: 39

Sending text message longer than 160 words, currently i am using sms.sendTextMessage, how do i send in multiparts?

Following is the code i am currently using; how do i send the message in various parts or how can i send message longer than 160. Any help is greatly appreciated!

    sendBtn.setOnClickListener(new View.OnClickListener() {

                          @Override
                          public void onClick(View view) {
                            String message = "Dear " + name + ", your      payslip number is " + payslipno +" and your net salary for this month is " +  netsalary + " and it is issused on " + issuedate + "." +
                                    " Please refer to your email for more information.";
                            String phoneNo = "96545373";
                            sendSMS(phoneNo, message);     

                          }

                        private void sendSMS(String phoneNo, String message) {

                            SmsManager sms = SmsManager.getDefault();
                            sms.sendTextMessage(phoneNo, null, message, null, null);  

                        }
                      });

Upvotes: 2

Views: 484

Answers (1)

Shayan Pourvatan
Shayan Pourvatan

Reputation: 11948

for sending to multiPart use following code

SmsManager smsManager = SmsManager.getDefault();
ArrayList<String> parts = smsManager.divideMessage(message);
ArrayList<PendingIntent> sentBroadcast = new ArrayList<PendingIntent>();
ArrayList<PendingIntent> deliverBroadcast = new ArrayList<PendingIntent>();
            for (int i = 0; i < parts.size(); i++) {
                sentBroadcast.add(sentPI);
                deliverBroadcast.add(deliveredPI);
            }
            smsManager.sendMultipartTextMessage(phoneNumber, null, parts,
                    sentBroadcast, deliverBroadcast);

and if you don't have broadcast for sent and delivery set to null in sendMultipartTextMessage

Upvotes: 2

Related Questions