Android短信群发 发送报告问题

问题描述

Android短信群发 发送报告问题
现在把所有的号码都保存到了AllNumbersList列表里,现在发送的话,只能是每条信息都接受状态。
举例说明
现在的效果是:
每发一条信息(比如ABC),A的发送和回执状态Toast显示一次,然后B的再显示,然后再C的……依此类推。。。
而需要的效果:
所有信息发送成功后(如果发送的时候能显示进度最好,我想的是使用progressBar,不知道还有没有更好的办法?),显示为短信全部发送完毕,或者哪条没有发送成功把单条列出来。接受回执报告也是如此。
不知道各位有没有什么解决的办法,小弟在这里先谢过了!

private OnClickListener sendonlistener = new OnClickListener(){    public void onClick(View v)    {        String SENT_SMS_ACTION = ""SENT_SMS_ACTION"";        String DELIVERED_SMS_ACTION = ""DELIVERED_SMS_ACTION"";        // 发送状态        Intent sentIntent = new Intent(SENT_SMS_ACTION);        PendingIntent sentPI = PendingIntent.getBroadcast(getApplicationContext() 0 sentIntent 0);        // 接受状态        Intent deliveryIntent = new Intent(DELIVERED_SMS_ACTION);        PendingIntent deliverPI = PendingIntent.getBroadcast(getApplicationContext() 0 deliveryIntent 0);        myDialog = ProgressDialog.show(MainActivity.this短信发送中""请稍等..."" true true);        SmsManager smsManager = SmsManager.getDefault();        // 短信不能为空        if (etable.length() == 0)        {            Toast.makeText(MainActivity.this短信内容不能为空!"" Toast.LENGTH_LONG).show();            myDialog.dismiss();        } else        // 超过70字分条发送        if (etable.toString().length() > 70)        {            ArrayList<String> msgs = smsManager.divideMessage(etable.toString());            for (String message : msgs)            {                for (int i = 0; i < AllNumbersList.size(); i++)                {                    smsManager.sendTextMessage(AllNumbersList.get(i) null message sentPI deliverPI);                }            }        } else        {            for (int i = 0; i < AllNumbersList.size(); i++)            {                // Log.d(""选择的号码"" manyNums.get(i));                smsManager.sendTextMessage(AllNumbersList.get(i) null etable.toString() sentPI deliverPI);            }        }        // Register the Broadcast Receivers        registerReceiver(new BroadcastReceiver()        {            @Override            public void onReceive(Context context Intent intent)            {                switch (getResultCode())                {                case Activity.RESULT_OK:                    myDialog.dismiss();                    Toast.makeText(MainActivity.this信息发送成功"" Toast.LENGTH_SHORT).show();                    break;                case SmsManager.RESULT_ERROR_GENERIC_FAILURE:                    myDialog.dismiss();                    Toast.makeText(MainActivity.this信息发送失败,"" Toast.LENGTH_LONG).show();                    break;                case SmsManager.RESULT_ERROR_RADIO_OFF:                    myDialog.dismiss();                    Toast.makeText(MainActivity.this短信发送失败,请检查手机网络服务"" Toast.LENGTH_LONG).show();                    break;                case SmsManager.RESULT_ERROR_NULL_PDU:                    myDialog.dismiss();                    Toast.makeText(MainActivity.this信息发送失败"" Toast.LENGTH_LONG).show();                    break;                }            }        } new IntentFilter(SENT_SMS_ACTION));        registerReceiver(new BroadcastReceiver()        {            @Override            public void onReceive(Context context Intent intent)            {                Toast.makeText(MainActivity.this短信已成功发送到短信平台,谢谢您的使用"" Toast.LENGTH_LONG).show();            }        } new IntentFilter(DELIVERED_SMS_ACTION));    }};
时间: 2024-11-03 09:21:05

Android短信群发 发送报告问题的相关文章

详解Android短信的发送和广播接收实现短信的监听_Android

本文介绍了Android短信的发送和广播接收者实现短信的监听,要注意Android清单中权限的设置以及广播的注册监听实现,废话不多说,代码如下: 以下就是 Android清单的XML AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zyw.broadcastsendsms" android:versionC

详解Android短信的发送和广播接收实现短信的监听

本文介绍了Android短信的发送和广播接收者实现短信的监听,要注意Android清单中权限的设置以及广播的注册监听实现,废话不多说,代码如下: 以下就是 Android清单的XML AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zyw.broadcastsendsms" android:versionC

关于Android发送短信获取送达报告的问题(推荐)

最近公司开发一个项目,要求app能够发送短信并获取送达报告.这本不是一个什么难题,实现这一功能的代码一搜一大把,那么这么简单的一个问题,为什么我要在这里提出来呢?那是因为我在写代码的时候掉入了一个坑,而且这很可能发生在很多和我一样粗心的朋友身上.先给大家分享一下当初让我掉进坑里的代码: 咋一看,好像这段代码并没有什么问题,但是在测试的时候发现无论发送多少条短信,每次都只能获取第一条短息的送达报告!!这个问题当时困扰了我很久,感觉自己明明没有写错啊,为什么会出现这样莫名其妙的问题呢?思索无果之后,

Android项目实现短信的发送、接收和对短信进行拦截_Android

说实话,关于Android中对短信的一些相关操作是一个比较入门的东西.那我现在还要来写这一篇博客的原因只是因为现在开发中有相关内容,而又想将这些东西分享给更多的人来学习,同时在以后对Android系统的短信进行其他学习的时候也就放在这里做一个记录了,于是就写了这篇啰嗦的文章.如果你觉得这是一个不错的东西,欢迎收藏,以便在以后更方便地查看本人在此篇文章中更新的内容.下面我就从标题中的三个方面来对Android系统中的短信操作进行一个简单地学习. 短信的发送 由于Android中对短信发送方法的优良

Android项目实现短信的发送、接收和对短信进行拦截

说实话,关于Android中对短信的一些相关操作是一个比较入门的东西.那我现在还要来写这一篇博客的原因只是因为现在开发中有相关内容,而又想将这些东西分享给更多的人来学习,同时在以后对Android系统的短信进行其他学习的时候也就放在这里做一个记录了,于是就写了这篇啰嗦的文章.如果你觉得这是一个不错的东西,欢迎收藏,以便在以后更方便地查看本人在此篇文章中更新的内容.下面我就从标题中的三个方面来对Android系统中的短信操作进行一个简单地学习. 短信的发送 由于Android中对短信发送方法的优良

CVE-2017-0780:一张GIF图,让最新版Android短信应用无限崩溃

本文讲的是CVE-2017-0780:一张GIF图,让最新版Android短信应用无限崩溃,有没有想过,一张看起来似乎是每个人随时都能欣赏到的GIF图,其实能够造成你的Android短信应用崩溃呢? 我们最近报告给Google的一个拒绝服务(DoS)漏洞就能实现这一点.该漏洞为CVE-2017-0780,主要目标为最新版的Nexus以及Pixel设备.通过发送格式不正确的彩信(MMS),该安全漏洞可以允许攻击者非法和远程地瓦解其受害者的Android消息应用程序,致其完全崩溃.即使设备/系统重新

Android短信发送器实现方法_Android

本文实例讲述了Android短信发送器实现方法.分享给大家供大家参考.具体如下: 这里模拟android短信发送器的实现 AndroidManifest.xml清单文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ljq.

《焦点访谈》详解垃圾短信源头 短信群发工具成泛滥关键

中介交易 SEO诊断 淘宝客 云主机 技术大厅 近日,央视<焦点访谈>在名为<垃圾短信哪里来>的节目中对垃圾短信的源头进行探究,曝光了很多垃圾短信不为人知的"秘密",并且披露出潜藏于垃圾短信之下的利益链条.短信群发器的悄然登场,群发短信平台与运营商之间微妙的关系,都让治理垃圾短信的进程变得更加扑朔迷离. 图:短信群发器成垃圾短信泛滥关键因素 记者从短信广告主处了解到,在借助短信群发器的基础上,广告短信的成本每条不超过1毛钱.相较于其它形式的广告,成本极其低廉,这

网易popov短信群发功能

在网易popo中能够对多个好友同时发送免费短信,省去了一个个单独发送的麻烦,但是很多的新手用户还不知道短信群发的使用方法,下面小编就给大家详细的介绍一下在网易popov1.0中怎么使用短信群发的功能,希望能够帮助到大家.   popo群发短信的方法: 首先我们将自己的好友拉入网易popo中,然后在群发短信中添加上他的手机号,然后双击就能对其发送短信了,我们可以同时邀请多个好友进行会话,不过前提是我们必须将好友先拉入网易popo中才能实现这一功能.