9

我有以下事件以编程方式发送短信。但是似乎不起作用,弹出吐司并且在logcat中没有条目,只是没有创建消息。我还为清单文件添加了适当的权限。

有什么建议吗?

 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);

     }
 };
4

4 回答 4

12

尝试这个。

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);
于 2012-05-25T10:15:39.130 回答
2

我花了很多时间然后我发现我可以在前面加上国家代码。对我来说,在电话号码之前加上“+91”就像一个冠军。

String phnNumber="+91"+editText.getText().toString();
于 2015-12-02T15:47:31.157 回答
1

这对我有用:

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);
于 2012-05-25T10:29:07.150 回答
1

实际上这对我有用:

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

可以肯定的是,有了这个,您将不会在您的消息历史记录中找到发送的消息。

于 2012-05-25T10:36:17.213 回答