.

.

.

.

.

临近过年了,又到了发送各类拜年短信的时刻了。虽然转发各类拜年短信已经显得越来越没年味,但是依然有很对人乐此不疲。为朋友送去祝福自然是好事,可是转发来的短信本身发送者就并没有投入太多的感情,那么发者无心自然看者也无心。近几年春节对于发来各类朗朗上口非原创短信的,我都一律回复“新年快乐。”四个大字加上对方的姓名。我觉得这平平淡淡的祝福足矣,何必让自己沉浸于信息的泡沫之中。短信只要用心发,让祝福真的充满自己的内心就可以了。

为了节省春节发短信的劳动力,自己动手开发了一个发短信的小程序。就在核心功能实现后进行全面测试的时候,发现群发时会弹出一个提示,如图1。

图1 发送大量短信的提示

在网上查阅了相关资料,说是Android系统有一个限制,一个应用程序一天之内发送短信数量如果超过100条就会弹出这个提示。

后来经过动手实验之后发现了解决办法:(以下解决办法是在Android模拟器中实现的,真机也许会有差异)

1.首先取得Root权限

C:\Users\yuhuashi>adb devices
List of devices attached
emulator-5554 device
emulator-5556 device

C:\Users\yuhuashi>adb -s emulator-5554 root
adbd is already running as root

2.进入 shell,利用 SQLite 工具修改系统安全配置

C:\Users\yuhuashi>adb -s emulator-5554 shell
#

要修改的数据库文件是:sqlite3 /data/data/com.android.providers.settings/databases/settings.db

# sqlite3 /data/data/com.android.providers.settings/databases/settings.db
sqlite3 /data/data/com.android.providers.settings/databases/settings.db
SQLite version 3.7.11 2012-03-20 11:35:50
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

3.首先看看这个库里面有什么表

sqlite> .tables
.tables
android_metadata bookmarks system
bluetooth_devices secure

4.通过名字判断应该就是修改 secure 这张表了,为了谨慎起见,再看看表结构吧

sqlite> .schema secure
.schema secure
CREATE TABLE secure (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT UNIQUE ON CONFLICT REPLACE,value TEXT);
CREATE INDEX secureIndex1 ON secure (name);

5.嗯,应该是它,用键值对的形式存储的配置信息。那么我们向里面插入两条设置吧。

sqlite> insert into secure(name, value) values('sms_outgoing_check_max_count', 99999);

sqlite> insert into secure(name, value) values('sms_outgoing_check_interval_ms', 0);

6.好了,看看写入成功了没有

sqlite> select * from secure order by _id desc;
select * from secure order by _id desc;
63|sms_outgoing_check_interval_ms|0
62|sms_outgoing_check_max_count|99999

7.OK,我们的设置已经写进去了,重启模拟器再次运行程序群发短信就没有弹出刚才那个消息,说明我们的配置成功了。

AD:项目地址:http://git.oschina.net/yuhuashi/AndroidTest
这个
项目本来就是打算用来练习和学习Android的,进入第一个Activity之后会看到对于各种测试窗口的分发导航按钮(目前只有一个:))。点击第一个“短信群发”按钮就可以使用这个小程序了。

参考文献:

解决Android系统短信群发时提示“正在发送大量短信” http://www.cnblogs.com/quejuwen/archive/2013/02/28/2936976.html

Android sending lots of SMS messages http://stackoverflow.com/questions/1663514/android-sending-lots-of-sms-messages

Android 提示应用“正在发送大量短信”的解决办法的更多相关文章

  1. Android 短信模块分析(四) MMS之短信的发送与接收

     MMS之短信的发送与接收分析: 一.信息发送: com.android.mms.data.WorkingMessage.java 类 send()函数: public void send() { . ...

  2. Android黑科技,读取用户短信+修改系统短信数据库

    安卓系统比起ios系统最大的缺点,相信大家都知道,就是系统安全问题.这篇博客就秀一波“黑科技”. 读取用户短信 Android应用能读取用户手机上的短信,相信已经不是什么新鲜事,比如我们收到的短信验证 ...

  3. 四:java调接口实现发送手机短信验证码功能

    1.点击获取验证码之前的样式: 2.输入正确的手机号后点击获取验证码之后的样式: 3.如果手机号已经被注册的样式: 4.如果一个手机号一天发送超过3次就提示不能发送: 二:前台的注册页面的代码:reg ...

  4. Java调用WebService接口实现发送手机短信验证码功能,java 手机验证码,WebService接口调用

    近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用到了第三方提供的短信平台接口WebService客户端接口,下面我把我在项目中用到的记录一下,以便给大家提供个思路,由于本人的文采有限, ...

  5. 发送SMS短信(JSON) 转载

    http://blog.csdn.net/ldl22847/article/details/42553883 public   static string GetMobileConfByUserId( ...

  6. SNF开发平台WinForm之十二-发送手机短信功能调用-金笛-SNF快速开发平台3.3-Spring.Net.Framework

    1.调用前组装参数 2.调用发送信息服务脚本   .调用前组装参数: BaseSendTaskEntity entity = new BaseSendTaskEntity(); entity.Mess ...

  7. 用Java通过串口发送手机短信

    用Java通过串口发短信其实很简单,因为有现成的类库供我们使用.有底层的类库,也有封装好一点的类库,下面我介绍一下在 Win32 平台下发送短信的方法. 如果你想用更底层的类库开发功能更强大的应用程序 ...

  8. 利用java实现的一个发送手机短信的小例子

    今天闲来无事,在微博上看到一个关于用java实现的一个发送手机短信的程序,看了看,写的不太相信,闲的没事,把他整理下来,以后可能用得着 JAVA发送手机短信,流传有几种方法:(1)使用webservi ...

  9. C#简单实现发送手机短信

    偶然想起,像编写一个从电脑向手机发送短信的程序,从网上查找到有三种方式:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;(2) ...

随机推荐

  1. PHP与MYSQL中UTF8 中文排序例子

    1. 需要在php数组中用中文排序,但是一般使用utf8格式的文件,直接用asort排序不行.用gbk和gb2312可以.这跟几种格式的编码有关系.gbk和gb2312本身的编码就是用拼音排序的. 代 ...

  2. 第2章 Python基础-字符编码&数据类型 综合 练习题

    1.转换 将字符串s = "alex"转换成列表 s = "alex" s_list = list(s) print(s_list) 将字符串s = " ...

  3. FreeSWITCH网关参数之caller-id-in-from

    1. 这个配置项两个设置值: true和false(默认) <param name="caller-id-in-from" value="true"/&g ...

  4. source insight 相对路径新建工程

    在创建source insight工程时,最好用“相对路径”,并“将si的工程文件,保存到源码包里”! 这样一来,等以后,将源码包放置于硬盘上其他位置,或分发给其他人,或改了源码包的名称,si工程仍然 ...

  5. [转]SSH 原理和基本使用:ssh 安全配置 以及ssh key 认证登录

    一.什么是 SSH ? SSH全称(Secure SHell)是一种网络协议,顾名思义就是非常安全的shell,主要用于计算机间加密传输.早期,互联网通信都是基于明文通信,一旦被截获,内容就暴露无遗. ...

  6. [转]Http Message结构学习总结

    最近做的东西需要更深入地了解Http协议,故死磕了一下RFC2616-HTTP/1.1协议,主要是了解Http Message结构及每部分含义,在此总结一下,写一个模拟发送HTTP请求的工具,由于时间 ...

  7. flock防止crontab脚本周期内未执行完重复执行(转)

    如果某脚本要运行30分钟,可以在Crontab里把脚本间隔设为至少一小时来避免冲突.而比较糟的情况是可能该脚本在执行周期内没有完成,接着第二个脚本又开始运行了.如何确保只有一个脚本实例运行呢?一个好用 ...

  8. SG仿真常用模块

    workspace交互 配合gateway in/out,实现信号仿真与workspace的互联. 滤波器 可与FDATool同时使用,直接关联FDATool的参数,而不必输入FDATool的滤波器系 ...

  9. gitlab 迁移、升级打怪之路:8.8.5--> 8.10.8 --> 8.17.8 --> 9.5.9 --> 10.1.4 --> 10.2.5

    gitlab 迁移.升级打怪之路:8.8.5--> 8.10.8 --> 8.17.8 --> 9.5.9 --> 10.1.4 --> 10.2.5 gitlab 数据 ...

  10. Android log 日志分析

    一. Log 日志中 Bug 类型 程序异常强制关闭: Force Close ,Fatal 程序无响应: Application Not Response , ANR(应用无响应).一般是主线程超时 ...