Android 提示应用“正在发送大量短信”的解决办法
.
.
.
.
.
临近过年了,又到了发送各类拜年短信的时刻了。虽然转发各类拜年短信已经显得越来越没年味,但是依然有很对人乐此不疲。为朋友送去祝福自然是好事,可是转发来的短信本身发送者就并没有投入太多的感情,那么发者无心自然看者也无心。近几年春节对于发来各类朗朗上口非原创短信的,我都一律回复“新年快乐。”四个大字加上对方的姓名。我觉得这平平淡淡的祝福足矣,何必让自己沉浸于信息的泡沫之中。短信只要用心发,让祝福真的充满自己的内心就可以了。
为了节省春节发短信的劳动力,自己动手开发了一个发短信的小程序。就在核心功能实现后进行全面测试的时候,发现群发时会弹出一个提示,如图1。
图1 发送大量短信的提示
在网上查阅了相关资料,说是Android系统有一个限制,一个应用程序一天之内发送短信数量如果超过100条就会弹出这个提示。
后来经过动手实验之后发现了解决办法:(以下解决办法是在Android模拟器中实现的,真机也许会有差异)
1.首先取得Root权限
C:\Users\yuhuashi>adb devices
List of devices attached
emulator-5554 device
emulator-5556 deviceC:\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 提示应用“正在发送大量短信”的解决办法的更多相关文章
- Android 短信模块分析(四) MMS之短信的发送与接收
MMS之短信的发送与接收分析: 一.信息发送: com.android.mms.data.WorkingMessage.java 类 send()函数: public void send() { . ...
- Android黑科技,读取用户短信+修改系统短信数据库
安卓系统比起ios系统最大的缺点,相信大家都知道,就是系统安全问题.这篇博客就秀一波“黑科技”. 读取用户短信 Android应用能读取用户手机上的短信,相信已经不是什么新鲜事,比如我们收到的短信验证 ...
- 四:java调接口实现发送手机短信验证码功能
1.点击获取验证码之前的样式: 2.输入正确的手机号后点击获取验证码之后的样式: 3.如果手机号已经被注册的样式: 4.如果一个手机号一天发送超过3次就提示不能发送: 二:前台的注册页面的代码:reg ...
- Java调用WebService接口实现发送手机短信验证码功能,java 手机验证码,WebService接口调用
近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用到了第三方提供的短信平台接口WebService客户端接口,下面我把我在项目中用到的记录一下,以便给大家提供个思路,由于本人的文采有限, ...
- 发送SMS短信(JSON) 转载
http://blog.csdn.net/ldl22847/article/details/42553883 public static string GetMobileConfByUserId( ...
- SNF开发平台WinForm之十二-发送手机短信功能调用-金笛-SNF快速开发平台3.3-Spring.Net.Framework
1.调用前组装参数 2.调用发送信息服务脚本 .调用前组装参数: BaseSendTaskEntity entity = new BaseSendTaskEntity(); entity.Mess ...
- 用Java通过串口发送手机短信
用Java通过串口发短信其实很简单,因为有现成的类库供我们使用.有底层的类库,也有封装好一点的类库,下面我介绍一下在 Win32 平台下发送短信的方法. 如果你想用更底层的类库开发功能更强大的应用程序 ...
- 利用java实现的一个发送手机短信的小例子
今天闲来无事,在微博上看到一个关于用java实现的一个发送手机短信的程序,看了看,写的不太相信,闲的没事,把他整理下来,以后可能用得着 JAVA发送手机短信,流传有几种方法:(1)使用webservi ...
- C#简单实现发送手机短信
偶然想起,像编写一个从电脑向手机发送短信的程序,从网上查找到有三种方式:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;(2) ...
随机推荐
- Docker stop停止/remove删除所有容器
原文地址:https://blog.csdn.net/superdangbo/article/details/78688904 docker ps // 查看所有正在运行容器$ docker stop ...
- 【C语言】为什么指明数组的列数?
首先,我们拿二维数组为例.二维数组称为矩阵.二维数组在概念上是二维的,但实际的硬件存储器却是连续编址的,也就是说存储器单元是按一维线性排列的.如果将二维数组作为参数传递给函数,那么在函数的参数声明中必 ...
- [MSP430] 对MSP430单片机__delay_cycles精确延时的说明及改正
在这里, 我来讨论一下关于MSP430单片机使用__delay_cycles延时的问题. IAR for MSP430编译器提供了一个编译器内联的精确延时函数(并非真正的 函数)以提供用户精确延时使用 ...
- 让windows能像ubuntu一样方便的神器
让windows能像ubuntu一样方便的神器: Let's get Chocolatey! Chocolatey NuGet is a Machine Package Manager, somewh ...
- CListCtrl设置选中行
原文链接: http://blog.163.com/lejianz@126/blog/static/11650292013610103232600/ CListCtrl 设置选中状态 1. 使用CLi ...
- Linux查看文件夹占用空间
du -sh * 查看当前目录所有文件的各个大小/home/econf>du -sh *427M apache-tomcat-6.0.2016K bin44M boot6.7M filese ...
- java中基础数据类型的应用
1.float 与 double float是单精度类型,占用4个字节的存储空间 double是双精度类型,占用8个字节的存储空间 1)当你不声明的时候,默认小数都用double来表示,所以如果要 ...
- Python 图像下载解决图像损坏
在下载图片的过程中,经常会发现图片损坏,下面提供了两种解决方法: 方法一: if response.status_code == 200: print '======================= ...
- 如何上传代码到github?
如何上传代码到github? 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安 ...
- swagger配置和简单使用
说明:本地环境idea + maven3.5 + springboot2.0.0 + springfox-swagger2 2.8.0 + springfox-swagger-ui 2.8.0 + ...