当前位置: 代码迷 >> Android >> 请问一个android 发送多条短信的有关问题
  详细解决方案

请问一个android 发送多条短信的有关问题

热度:48   发布时间:2016-05-01 13:22:08.0
请教一个android 发送多条短信的问题。
小弟想做一个 短信群发的软件 目前在网上找到一个方法
我在外面用for循环 对它调用 可是为什么会同时的发送成功?
我想要的效果的是第一条发送成功提示 “第一条发送成功 ” 然后在发第二条 以此类推。。。可是一次性就全不发完了。。我还想做一个dialog 进度条 ?? 高手帮小弟解答解答呗~~~~

Java code
    private void sendSMS(final String  phoneName ,String phoneNumber, String message)    {            // ---sends an SMS message to another device---            SmsManager sms = SmsManager.getDefault();            String SENT_SMS_ACTION = "SENT_SMS_ACTION";            String DELIVERED_SMS_ACTION = "DELIVERED_SMS_ACTION";            // create the sentIntent parameter            Intent sentIntent = new Intent(SENT_SMS_ACTION);            PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, sentIntent,                    0);            // create the deilverIntent parameter            Intent deliverIntent = new Intent(DELIVERED_SMS_ACTION);            PendingIntent deliverPI = PendingIntent.getBroadcast(this, 0,                    deliverIntent, 0);            // register the Broadcast Receivers            registerReceiver(new BroadcastReceiver() {                @Override                public void onReceive(Context _context, Intent _intent) {                    switch (getResultCode()) {                    case Activity.RESULT_OK:                        break;                    case SmsManager.RESULT_ERROR_GENERIC_FAILURE:                        break;                    case SmsManager.RESULT_ERROR_RADIO_OFF:                        break;                    case SmsManager.RESULT_ERROR_NULL_PDU:                        break;                    }                }            }, new IntentFilter(SENT_SMS_ACTION));            registerReceiver(new BroadcastReceiver() {                @Override                public void onReceive(Context _context, Intent _intent) {                switch (getResultCode())                {                case Activity.RESULT_OK:                    Toast.makeText(getBaseContext(),                    "收信人 "+phoneName +"发送成功", Toast.LENGTH_SHORT)                    .show();                    break;                case Activity.RESULT_CANCELED:                    break;                }                }            }, new IntentFilter(DELIVERED_SMS_ACTION));            // if message's length more than 70 ,            // then call divideMessage to dive message into several part ,and call            // sendTextMessage()            // else direct call sendTextMessage()            if (message.length() > 70) {                ArrayList<String> msgs = sms.divideMessage(message);                for (String msg : msgs) {                    sms.sendTextMessage(phoneNumber, null, msg, sentPI, deliverPI);                }            } else {                sms.sendTextMessage(phoneNumber, null, message, sentPI, deliverPI);            }    }


------解决方案--------------------
在for里面加个延迟,没执行一次延迟一定时间?
  相关解决方案