android 发送短信问题

for (String num : c.getContactsNumbers()) {
                    try {
                        i++;
                        if (PhoneNumberUtils.isGlobalPhoneNumber(num)) {
                            sendSMS(num,content);
                        }
                    } catch (Exception e) {
                        j++;
                    }
                }


    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
         sendReceiver = new SMSReceiver();  //注册
            IntentFilter sendFilter = new IntentFilter(ACTION_SMS_SEND);
            registerReceiver(sendReceiver, sendFilter);
            deliveryReceiver = new SMSReceiver();
            IntentFilter deliveryFilter = new IntentFilter(ACTION_SMS_DELIVERY);
            registerReceiver(deliveryReceiver, deliveryFilter);
}
    @Override
    protected void onPause() {
        // TODO Auto-generated method stub   //销毁
        super.onPause();
        unregisterReceiver(sendReceiver);
        unregisterReceiver(deliveryReceiver);
    }
    private void sendSMS(String num,String content)
    {
             SmsManager smsMag = SmsManager.getDefault();
            Intent sendIntent = new Intent(ACTION_SMS_SEND);
            PendingIntent sendPI = PendingIntent.getBroadcast(this, 0, sendIntent,
                    0);
            Intent deliveryIntent = new Intent(ACTION_SMS_DELIVERY);
            PendingIntent deliveryPI = PendingIntent.getBroadcast(this, 0,
                    deliveryIntent, 0);
            ArrayList<PendingIntent> sendPIs=new ArrayList<PendingIntent>();
            ArrayList<PendingIntent> deliveryPIs=new ArrayList<PendingIntent>();
            for(int i=0;i<smsMag.divideMessage(content).size();i++)
            {
                sendPIs.add(sendPI);
                deliveryPIs.add(deliveryPI);
            }
            smsMag.sendMultipartTextMessage(num, null,smsMag.divideMessage(content), sendPIs, deliveryPIs);
    }    
    public class SMSReceiver extends BroadcastReceiver {
        public void onReceive(Context context, Intent intent) {
            String actionName = intent.getAction();
            int resultCode = getResultCode();
            if (actionName.equals(ACTION_SMS_SEND)) {
                switch (resultCode) {
                case Activity.RESULT_OK:
                    Toast.makeText(EditMessageActivity.this, "\n[Send]SMS Send:Successed!",
                            Toast.LENGTH_SHORT).show();;
                    break;
                case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                    Toast.makeText(EditMessageActivity.this, "\n[Send]SMS Send:RESULT_ERROR_GENERIC_FAILURE!",
                            Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_NO_SERVICE:
                    Toast.makeText(EditMessageActivity.this, "\n[Send]SMS Send:RESULT_ERROR_NO_SERVICE!",
                            Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_NULL_PDU:
                    Toast.makeText(EditMessageActivity.this, "\n[Send]SMS Send:RESULT_ERROR_NULL_PDU!",
                            Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_RADIO_OFF:
                    break;
                }
            } else if (actionName.equals(ACTION_SMS_DELIVERY)) {
                switch (resultCode) {
                case Activity.RESULT_OK:
                    Toast.makeText(EditMessageActivity.this, "\n[Delivery]SMS Delivery:Success!",
                            Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                    Toast.makeText(EditMessageActivity.this, "\n[Delivery]SMS Delivery:RESULT_ERROR_GENERIC_FAILURE!",
                            Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_NO_SERVICE:
                    Toast.makeText(EditMessageActivity.this, "\n[Delivery]SMS Delivery:RESULT_ERROR_NO_SERVICE!",
                            Toast.LENGTH_SHORT).show();
                       break;
                case SmsManager.RESULT_ERROR_NULL_PDU:
                    Toast.makeText(EditMessageActivity.this, "\n[Delivery]SMS Delivery:RESULT_ERROR_NULL_PDU!",
                            Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_RADIO_OFF:
                    Toast.makeText(EditMessageActivity.this, "\n[Delivery]SMS Delivery:RESULT_ERROR_RADIO_OFF!",
                            Toast.LENGTH_SHORT).show();
                   break;
                }
            }
        }
    }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值