smsManager.sendTextMessage is not working

2019-01-17 23:34发布

I have the below event to send sms programatically. However is doens't seem to work, the toast pop up appears and there is no entry in logcat, just no message is created. I have also added the appropriate permissions to manifest file.

Any suggetsions?

 private Runnable SMSRunnable = new Runnable()
 {
     public void run()
     {      
         smsManager = SmsManager.getDefault();

        smsNumber = edittextSmsNumber.getText().toString();
        smsText = edittextSmsText.getText().toString();


        smsManager.sendTextMessage(smsNumber, smsNumber, smsNumber , null, null);

     }
 };

标签: android sms
4条回答
老娘就宠你
2楼-- · 2019-01-18 00:13

Actually this is working for me:

String messageText = "...YOUR TEXT HERE...";
SmsManager sm = SmsManager.getDefault();
sm.sendTextMessage("PHONE NUMBER HERE", null, messageText, null, null);

Just to be sure, with this you will not find the message sent in your message history.

查看更多
▲ chillily
3楼-- · 2019-01-18 00:17

This is what works for me:

PendingIntent pi = PendingIntent.getActivity(this, 0,
        new Intent(this, Next.class), 0); 
//Next is the class to move when message sent
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage("phno", null, "message", null, null);
查看更多
太酷不给撩
4楼-- · 2019-01-18 00:19

Try this.

SmsManager sms = SmsManager.getDefault();
PendingIntent sentPI;
String SENT = "SMS_SENT";

sentPI = PendingIntent.getBroadcast(this, 0,new Intent(SENT), 0);

sms.sendTextMessage(phoneNumber, null, message, sentPI, null);
查看更多
何必那么认真
5楼-- · 2019-01-18 00:30

I spent lots of time then I figured out that I could just prepend the country code. For me prepending "+91" before the phone number worked like a champ.

String phnNumber="+91"+editText.getText().toString();
查看更多
登录 后发表回答