推荐安卓开发神器(里面有各种UI特效和android代码库实例)
android会把短信信心保存在数据库中,可查看/dbdata/databases/com.android.providers.telephony/mmssms.db。但是我们不能直接访问数据库,只能通过ContentProvider来访问它。
以下是访问短信数据库的uri
content://sms/inbox 收件箱
content://sms/sent 已发送
content://sms/draft 草稿
content://sms/outbox 发件箱
content://sms/failed 发送失败
content://sms/queued 待发送列表
数据库相关字段如下:
_id 一个自增字段,从1开始
thread_id 序号,同一发信人的id相同
address 发件人手机号码(根据这个查找联系人姓名?)
person 联系人列表里的序号,陌生人为null
date 发件日期,单位是milliseconds,从1970/01/01至今所经过的时间)
protocol 协议,分为: 0 SMS_RPOTO, 1 MMS_PROTO
read 是否阅读,0未读, 1已读
status 状态,-1接收,0 complete, 64 pending, 128 failed
type
ALL = 0;
INBOX = 1;
SENT = 2;
DRAFT = 3;
OUTBOX = 4;
FAILED = 5;
QUEUED = 6;
body 短信内容
service_center 短信服务中心号码编号
subject 短信的主题
reply_path_present TP-Reply-Path
locked
查询信息:
检索数据方法很简单: 在Activity中
java代码:
Uri uri = Uri.parse("content://sms/inbox");
Cursor cur = this.managedQuery(uri, null, null, null, null);
if (cur.moveToFirst()) {
do{
for(int j = 0; j < cur.getColumnCount(); j++){
info = "name:" + cur.getColumnName(j) + "=" + cur.getString(j);
Log.i("====>", info);
}
}while(cur.moveToNext());
}
managedQuery(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)参数依次为uri上面已列出
查询字段 查询字段数组,也可以将所有需要查询的字段放入一个字符内
比如new String[]{"_id", "thread_id"}和new String[]{"_id,thread_id"}是一致的。
跟SQL一样,字段名不区分大小写
条件 不带Where的SQL 条件字符比如"_id=? And thread_id = ? Or type = '1'"
条件中的参数 参数字符数组,跟上述的条件一一对应
排序 不带Order by排序字符串,比如_id desc, type
如果参数为null,SQL中查询字段为“*”,相关的条件为空白 删除信息:
java代码:
this.getContentResolver().delete(Uri.parse("content://sms"), "_id=?", new String[]{"3"});
Url中content://sms 替换成content://sms/ 也成功,但是其它url时程序报错,比如content://sms/inbox记得要加上权限
java代码:
<uses-permission android:name="android.permission.WRITE_SMS"></uses-permission>
<uses-permission android:name="android.permission.READ_SMS"></uses-permission>
相关推荐
总结,实现Android短信应用的实时删除功能涉及的主要知识点有:权限管理、BroadcastReceiver、IntentFilter、ContentResolver、SMS Provider以及对Android系统的权限控制和隐私策略的理解。开发者需要熟悉这些概念,...
本文将深入探讨如何使用Bmob这个云服务平台来实现这一功能,并涉及短信关键字监控的相关知识。 首先,Bmob是一款强大的后端云服务,提供了包括数据库、用户管理、推送通知、短信服务等在内的一系列便捷API,让...
5. **短信关键字监控**:压缩包中的"短信关键字监控参考文档.doc"可能提供了关于如何监控和分析短信验证码的使用情况,包括用户接收验证码的速度、成功率以及可能出现的问题等。你可以通过Bmob的后台管理系统,设置...
在Android系统中,短信服务是核心功能之一,它允许用户接收、发送和管理短信。在Android 4.4(KitKat)及更高版本中,为了增强用户体验和安全性,系统提供了更高级别的API来处理短信,包括拦截和删除短信。本文将...
本文将详细解析"android短信电话防火墙"这一主题,涵盖其核心功能、实现原理以及如何有效利用。 一、核心功能 1. **来电拦截**:防火墙可以根据预设的规则拦截特定号码的来电,比如黑名单中的联系人或者未知号码。...
短信转发工具 ...根据包含关键字转发(如果有指定关键字,当收到短信时,短信内容包含任一关键字才进行转发;如果没有指定,则转发所有)内容定制 添加内容前缀(转发短信时,在短信的前面加上该前缀
本文将深入探讨Android短信拦截的核心概念、实现机制以及如何通过源码来理解和开发这样的功能。 首先,Android短信拦截是基于Android系统的BroadcastReceiver机制。BroadcastReceiver是一种广播接收者,它能够监听...
例如,如果短信内容包含特定关键字,我们可以直接删除该短信,防止用户看到: ```java if (messageBody.contains("垃圾短信")) { abortBroadcast(); // 阻止短信显示给用户 } ``` 不过,从Android 6.0(API level...
基于Android短信平台的管理与开发 本文档是关于基于Android短信平台的管理与开发的毕业设计论文。该论文的主要目的是开发出基于Android平台的短信管理软件,以提供更好的短信服务给用户。该软件的开发基于Java语言...
【Android短信验证码Demo详解】 在Android开发中,短信验证码是一种常用的身份验证机制,它通过向用户注册的手机号发送一条包含随机数字或字母的短信来确保用户的真实性。本Demo主要展示了如何在Android应用中实现...
此外,通过集成Android系统内置的全文搜索功能,实现了对短信内容的快速检索,方便用户查找含有特定关键字的短信。 短信的分类管理是另一个重要的优化点。文中提到利用URI(统一资源标识符)和模式匹配器,可以根据...
本文档是关于如何在Android平台上实现一款高效的短信查询软件的研究,该研究由南京师范大学密集培训学院的霍晶、毛小娇、颜善春完成。文档内容涉及了当前智能手机短信查询软件存在的不足,同时提出了通过联系人查询...
这通常涉及到解析短信的来源、内容和特定关键字。例如,如果短信包含敏感信息或者不符合预设规则,那么可以拦截并阻止其显示。拦截过程可以在SMSListener的`onReceive()`方法中实现。 3. **数据库连接**: 为了...
开发者可以在BroadcastReceiver的onReceive()方法中检查短信内容,如果满足特定条件(比如特定关键字、发送者号码等),可以选择阻止系统默认的行为,即不显示这条短信或者执行其他操作。 2. **权限设置**:为了...
总结来说,监听Android短信验证码需要创建ContentObserver,注意onChange的多次调用,并处理权限问题。同时,验证码的提取依赖于准确地解析短信内容,这可能需要根据实际业务需求调整。在面对不同Android系统版本和...
- 为了优化搜索速度,可以采用分词技术将短信内容分解成关键字列表,并建立倒排索引。 #### 安卓平台下的实现 本方案基于Android平台进行开发,该平台因其开放性和丰富的API资源而受到开发者青睐。在Android平台...
在Android平台上,拦截电话和短信是一项涉及用户隐私保护和安全性的功能。开发这样的拦截软件,开发者需要深入理解Android系统的架构,尤其是与通信相关的API和权限管理。以下将详细阐述实现这个功能所需的关键知识...
- **拦截关键字设置模块**:用户可自定义关键词,系统将根据这些关键词拦截含有特定内容的短信。 4. **UML建模** - **用例图**:展示了系统的主要功能,包括黑名单设置、拦截信息查看和拦截关键字设置,以及相关...