无法发送使用SmsManager的短信机器人 [英] Unable to send sms using SMSManager in Android

查看:655
本文介绍了无法发送使用SmsManager的短信机器人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序的不要要使用默认的邮件发件人。对于这样做,我也跟着下面的链接<一个href="http://stackoverflow.com/questions/3600326/in-android-is-it-possible-to-send-sms-message-to-more-than-one-recipient-in-$c$c/3608117#comment11259846_3608117">In Android是可以发送短信给多个收件人在code?

In my application I do not want to use the default message sender. For doing that I followed the following link In Android is it possible to send sms message to more than one recipient in code?

  • 这code工作太。但这些消息我是从这个发送 code不被保存在手机上发件箱和收件箱。
  • 我使用的短信管理器像这样在我的code

  • And that code worked too. But the messages I am sending from this code are not saved on the phones outbox and inbox.
  • I am using sms manager like this in my code

SmsManager的短信= SmsManager.getDefault();    sms.sendTextMessage(phoneNumber的,空,消息,NULL,NULL);

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

但它未发送sms.please帮我看看我怎么能发送短信的android - 我已经尝试过之后       PendingIntent sentPI = PendingIntent.getBroadcast(此,0,新的意向(         SENT),0);。

But it is not sending sms.please help me with how can i send sms in android - i have tried following too PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent( SENT), 0);

PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
new Intent(DELIVERED), 0);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);

它也不能正常工作。
SMSAPPActivity.java

It's also not working.
SMSAPPActivity.java

编辑:

btnSendSMS.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                String message = txtMessage.getText().toString();
                String[] PhnNoArray = new String[2];
                PhnNoArray[0] = "9999999999";
                PhnNoArray[1] = "8888888888";
                // StringTokenizer st = new StringTokenizer(phoneNo, ",");
                smsManager = SmsManager.getDefault();
                for (int i = 0; i < PhnNoArray.length; i++) {
                    smsManager = SmsManager.getDefault();
                        // this is the function that does all the magic
//                      sms.sendTextMessage(phoneNumber, null, msg, pi, null);
                    smsManager.sendTextMessage(PhnNoArray[i], null, message, null,
                            null);
                    Toast.makeText(getBaseContext(), "SMS sent : " + i,
                            Toast.LENGTH_SHORT).show();
                }
}
        });

请参阅编辑,并告诉我,我已经做wrong.tost被显示出来,但是短信上没有其他手机使用此code接收

Please see the edit and tell me what i have done wrong.tost is showing up but sms is not received on other phone by using this code

推荐答案

我用下面的code发送短信到多个号码和发来的短信被保存的短信

I used following code to send sms to multiple numbers and sent sms gets saved in messages

private void sendSMS(String phoneNumber, String message) {
        String SENT = "SMS_SENT";
        String DELIVERED = "SMS_DELIVERED";

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

        PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
                new Intent(DELIVERED), 0);

        // ---when the SMS has been sent---
        registerReceiver(new BroadcastReceiver() {
            @Override
            public void onReceive(Context arg0, Intent arg1) {
                switch (getResultCode()) {
                case Activity.RESULT_OK:
                    ContentValues values = new ContentValues();
                    for (int i = 0; i < MobNumber.size() - 1; i++) {
                        values.put("address", MobNumber.get(i).toString());// txtPhoneNo.getText().toString());
                        values.put("body", MessageText.getText().toString());
                    }
                    getContentResolver().insert(
                            Uri.parse("content://sms/sent"), values);
                    Toast.makeText(getBaseContext(), "SMS sent",
                            Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                    Toast.makeText(getBaseContext(), "Generic failure",
                            Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_NO_SERVICE:
                    Toast.makeText(getBaseContext(), "No service",
                            Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_NULL_PDU:
                    Toast.makeText(getBaseContext(), "Null PDU",
                            Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_RADIO_OFF:
                    Toast.makeText(getBaseContext(), "Radio off",
                            Toast.LENGTH_SHORT).show();
                    break;
                }
            }
        }, new IntentFilter(SENT));

        // ---when the SMS has been delivered---
        registerReceiver(new BroadcastReceiver() {
            @Override
            public void onReceive(Context arg0, Intent arg1) {
                switch (getResultCode()) {
                case Activity.RESULT_OK:
                    Toast.makeText(getBaseContext(), "SMS delivered",
                            Toast.LENGTH_SHORT).show();
                    break;
                case Activity.RESULT_CANCELED:
                    Toast.makeText(getBaseContext(), "SMS not delivered",
                            Toast.LENGTH_SHORT).show();
                    break;
                }
            }
        }, new IntentFilter(DELIVERED));

        SmsManager sms = SmsManager.getDefault();
        sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
    }

发送邮件到多个号码,我用上面的功能:

to send message to multiple numbers i used above function as :

if (MobNumber != null) {

                for (int i = 0; i < MobNumber.size(); i++) {
                    String message = MessageText.getText().toString();
                    String tempMobileNumber = MobNumber.get(i).toString();
                    sendSMS(tempMobileNumber, message);
                }

这篇关于无法发送使用SmsManager的短信机器人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆