Am new for android . I want send sms after click send button
package com.example.smsproject; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.telephony.SmsManager; import android.view.View;`enter code here` import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class Page2Activity extends Activity { Button button; EditText textPhoneNo; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button) findViewById(R.id.button1); textPhoneNo = (EditText) findViewById(R.id.mobilenumber); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v){ //String phoneNo = textPhoneNo.getText().toString(); String phoneNo = "tel:xxxxxxxxxx"; String messageText = "SMS FROM ANDROID"; try { SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage(phoneNo, null, messageText, null, null); Toast.makeText(getApplicationContext(), "SMS Sent Successfully!", Toast.LENGTH_LONG).show(); }catch (Exception e){ Toast.makeText(getApplicationContext(), "SMS failed, please try again later ! ", Toast.LENGTH_LONG).show(); e.printStackTrace(); } } }); } }
set send_sms permission on android_manifest.xml
i got zero errors but sms not sending. If you have know answer.
please let me know, thanks for reading.
To complete @Android Fanatic answer
If the text is too long, the message does not go away, you have to respect max length depending of encoding.
More information can be found here.
I'd prefer this method
SmsManager sms = SmsManager.getDefault();
ArrayList<String> parts = sms.divideMessage(message);
ArrayList<PendingIntent> sendList = new ArrayList<>();
sendList.add(sentPI);
ArrayList<PendingIntent> deliverList = new ArrayList<>();
deliverList.add(deliveredPI);
sms.sendMultipartTextMessage(phoneNumber, null, parts, sendList, deliverList);