读书人

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

发布时间: 2012-10-21 09:00:07 作者: rapoo

请教一个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里面加个延迟,没执行一次延迟一定时间?

读书人网 >Android

热点推荐