.

.

.

.

.

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

为了节省春节发短信的劳动力,自己动手开发了一个发短信的小程序。就在核心功能实现后进行全面测试的时候,发现群发时会弹出一个提示,如图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. MongoDB学习笔记(3)--删除数据库

    MongoDB 删除数据库 语法 MongoDB 删除数据库的语法格式如下: db.dropDatabase() 删除当前数据库,默认为 test,你可以使用 db 命令查看当前数据库名. 实例 以下 ...

  2. Javscript调用iframe框架页面中函数的方法

    Javscript调用iframe框架页面中函数的方法,可以实现iframe之间传值或修改值了, 访问iframe里面的函数: window.frames['CallCenter_iframe'].h ...

  3. 【转】Markdown 的一些问题

    Markdown 的一些问题 把我之前的博文基本上转换成了 markdown 格式.我发现 markdown 虽然在编辑器里看起来比 HTML 清晰一些,但也有一些不足. 这些 markup 语言的格 ...

  4. 跟我学SharePoint 2013视频培训课程——自定义网站导航(4)

    课程简介 第4天,自定义SharePoint 网站导航 视频 SharePoint 2013 交流群 41032413

  5. NTC电阻抑制冷机启动浪涌电流

    开关电源高压直流回路中常用串联负温度系数热敏限流电阻器(NTC)的方法抑制开机浪涌电流,然而这种简单的方法具有很多缺点:如NTC电阻器的限流效果受环境温度影响较大.限流效果在短暂的输入主电网中断(约几 ...

  6. 常用代码之七:静态htm如何包含header.htm和footer.htm。

    要实现这个有多种解决方案,比如asp, php, 服务器端技术,IFrame等,但本文所记录的仅限于用jQuery和纯htm的解决方案. <head> <title></ ...

  7. appium 重新启动apk

    在旧版本的appium,重新启动apk,调用startActivity方法可以随意启动一个app,并传入一个package name 和启动activity name的名称.语句如下: driver. ...

  8. iphone5 jail break

    dfu恢复恢复备份越狱afc2add删除2个文件,如果只有1个也没问题/var/mobile/Library/Caches/com.apple.mobile.installation.plist/va ...

  9. windows如何查看某个端口被谁占用

    我们在启动应用的时候经常发现我们需要使用的端口被别的程序占用,但是我们又不知道是被谁占用,这时候我们需要找出“真凶”,如何做到呢? cmd命令中 输入命令:netstat -ano,列出所有端口的情况 ...

  10. 本地启动spark-shell

    由于spark-1.3作为一个里程碑式的发布, 加入众多的功能特性,所以,有必要好好的研究一把,spark-1.3需要scala-2.10.x的版本支持,而系统上默认的scala的版本为2.9,需要进 ...