当前位置: 代码迷 >> Android >> 短信群发、联系人如何分开一个一个的发送信息、或者说得到实体类的数据、如何操作
  详细解决方案

短信群发、联系人如何分开一个一个的发送信息、或者说得到实体类的数据、如何操作

热度:34   发布时间:2016-04-28 05:51:50.0
短信群发、联系人怎么分开一个一个的发送信息、或者说得到实体类的数据、怎么操作~
//判断是否含有名字、
else if(nei.contains(displayname))
{
//注册本短信的接受者
/*IntentFilter intentFilter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
SendSMSReceiver sendSMSR =  new SendSMSReceiver(NewSMSActivity.this);
NewSMSActivity.this.registerReceiver(sendSMSR, intentFilter);*/
String SENT_SMS_ACTION = "SENT_SMS_ACTION";
for(int m=5;m>0;m--)
{
//contactBean是个联系人实体类、 该类中有个getphonenumber()就是获取电话号码的方法、 但是在下面的执行中、cb我不知道怎么分开来一个一个的发送短信、
for(final ContactBean cb : selectContactList)
{

        PendingIntent paIntent;
        SmsManager smsManager;
        Intent sendIt = new Intent(SENT_SMS_ACTION);
        sendIt.putExtra("sentto", cb.getPhoneNum()); 
        paIntent = PendingIntent.getBroadcast(NewSMSActivity.this, 0, sendIt, 0); 
        smsManager = SmsManager.getDefault();
        
        //
        ArrayList<String>  sendList = smsManager.divideMessage(nei.replace(displayname, cb.getDisplayName()));
        
        for(String text:sendList)
        {
         smsManager.sendTextMessage(cb.getPhoneNum(), null, text, paIntent, null); 
        }
        
        if(sendsmsHandler!=null)
        {
         sendsmsHandler.sendEmptyMessage(SendsmsHandler.what_reset);
        }
        //状态
        HomeSMSActivity.hasNewSms = true;
        //
     
        
ContentValues values = new ContentValues();



values.put("address", cb.getPhoneNum());
values.put("body", nei.replace(displayname, cb.getDisplayName()));

//测试用的数据
int M =list.size();
System.out.println("list的值:"+M+"list的值");
int N=selectContactList.size();
System.out.println("select的值:"+N+"select的值");

System.out.println("cb的值"+cb);

System.out.println("总的values的数据:"+values);

int U =values.size();
int L=values.size()-2;
int O=values.size()-1;

System.out.println("values.size()的数值:"+U);
System.out.println("values.size()-2的数值:"+L);
System.out.println("values.size()-1的数值:"+O);


System.out.println("cb.getPhoneNum的值"+cb.getPhoneNum()+"cb.getPhoneNum的值");


Uri suri =  getContentResolver().insert(Uri.parse("content://sms/sent"), values);
if(suri !=null)
{
if(sendsmsHandler!=null)
{
sendsmsHandler.sendMessage(sendsmsHandler.obtainMessage(SendsmsHandler.what_tishi, "短信发送给"+cb.getDisplayName()+"成功2"));
}

//Toast.makeText(NewSMSActivity.this, "短信发送给"+cb.getDisplayName()+"成功", Toast.LENGTH_SHORT).show();
}
else
{
if(sendsmsHandler!=null)
{
sendsmsHandler.sendMessage(sendsmsHandler.obtainMessage(SendsmsHandler.what_tishi, "短信发送给"+cb.getDisplayName()+"失败"));
}

//Toast.makeText(NewSMSActivity.this, "短信发送给"+cb.getDisplayName()+"失败", Toast.LENGTH_SHORT).show();
}
}
}//循环到这里结束。
}



请问、cb这个是继承了contactBean这个实体类?怎么索引?如何一个一个的发送短信。

我是要做到群发的时候、每条短信间隔几秒的时间、如果各位好人有这样的源码demo更好? 

就是群发短信、做到每条短信都能间隔几秒、我这里主要是怎么把这些联系人的号码一个一个的发、这里不怎么懂~

谢谢各位啦~
------解决方案--------------------
格式化下代码可好。没仔细看代码,发送短信封装发送短信的方法时候传入list或者String[] 不就好了 然后里面用StringUtils.spit("号码",“分隔符”) 处理一下  不就进去了
------解决方案--------------------
如果每一个人是一个实体类就需要生产每个实体类在发送,其实手机自己的机制是,保存每个号码,调用SendMessage这个INTENT的,让它自己去处理,,,
  相关解决方案