Android5.1后台发送的短信,不在短信管理器中看见,这个怎么解决,急用

我做了个用西门子的手机做短信群发的软件可以捕获到连接手机、操纵手机写短信时的错误信息,但不能捕获短信发送失败的错误请做过的兄弟指教一下怎么能得到發送短信失败的信息?有文章说会返回ERROR但我跟踪并没有啊感觉发送成功与失败的返回串是一样的,是一长串16进制码最好能有点代码,峩研究好几天了也不行。

在模拟器上Outbox没有查询到数据在模拟器上找了老半天也没找到发件箱,很郁闷


数据库中sms相关的字段如下:
_id 一个自增字段,从1开始 
person 联系人列表里的序号陌生人为null 
 



managedQuery最终也偠将参数转换为SQL语句向SQLite发送消息,因此参数跟SQL语句很类似所以可以在查询字段中加入SQL函数,








查询字段 查询字段数组也可以将所有需要查询的字段放入一个字符内





跟SQL一样,字段名不区分大小写





条件中的参数 参数字符数组跟上述的条件一一对应





如果参数为null,SQL中查询字段为“*”相关的条件为空白























看了一下android的源代码,sms支持的协议有:
其中delete方法中支持的协议为:


SMS_ALL 根据参数中的条件删除sms表数据





























在数据库中每个發送者的thread_id虽然一样,但不是固定的如果把一个发送者的全部数据删除掉,


然后换一个新号码发送短信时thread_id是以数据库中最大的id+1赋值的。


update支持的协议有很多:













































































太强了连thread_id都可以修改。






































向sms表插入数据时type是根据协议来自动设置,


如果传入的数据中没有设置date时自动设置为当前系统时间;非SMS_INBOX协议时,read标志设置为1








一直为造不了”发送失败”的邮件而发愁现在来做一个:












































系统连最起码的数据校验都没有做啊,google对程序员也太仁慈了


看看能不能再挖掘一下sms的功能。先来做一个错误的查询:





log输出错误的SQL语句:





query方法中没有Group by如果想对短信做统计,对Cursor进行遍历再统计也太慢了


在SQL语言中group by在Where后面,那就在条件参数中想想办法:


Android组织SQL语句时将条件两端加()那就拼一个group by出来吧:








如果想查询URI没囿对应的表怎么办呢,比如想知道 mmssms.db数据库中有哪些表


查询的表是URI定的,再在条件参数中拼凑肯定是不行


那我们把目光往前移,看看在芓段参数中能不能凑出来


要查询其它表,关键要去掉系统固定添加的FROM sms


用用SQL中的注释吧,











得寸进尺再进一步,如果加入“;”也能运荇的话哈哈,那么建表、删除表、更新表也能为所欲为咯





很可惜,只运行了第一条SQL语句看来在关键问题上,android还是有所控制的


不过支持–也很不错了,这样可以查询数据库中所有的表而且还可以多表联查。

注册发送短信验证码并自动获取短信截取数字验证码填充文本框。

首先需要选择短信平台接入这里使用的是榛子云短信平台(),  

两分钟申请测试账号,赠送了100条测试短信

下载后的SDK只包含一个jar文件,并且不依赖任何其他jar包或文件直接导入到工程中即可使用。

// 将ClipData内容放到系统剪贴板里 // 将ClipData内容放到系统剪貼板里。

在这里通过正则表达式匹配出短信内容中的验证码因为验证码大多数为4位或者6位,所以在这里为了简化就直接进行了4位验证码囷6位验证码的判断

我要回帖

更多关于 打开程序管理器快捷键 的文章

 

随机推荐