1、查询所有短信,按发件人进行分组
Cursor mCursor =
managedQuery(Uri.parse("content://sms"),
new String[] {"_id,address,date,read,status,type,body,count(address) as "
+ "totleCount from (select _id,substr(address,4) as address,date,read,status,type,body "
+ "from sms where address like \"+86%\" union select _id,address,date,read,status,type,body "
+ "from sms where address not like \"+86%\") r group by r.address order by r.date desc --"},
null,
null,
null);
2、删除一个联系人的所有短信会话,包括+86的号码
/**
* 删除一个联系人的所有短信会话,包括+86的号码
* @param phone
*/
public int deleteMsgSession(Context context, String phone)
{
String phoneBytitle = "";
if (!phone.startsWith("+86"))
{
phoneBytitle = "+86" + phone;
}
else
{
phoneBytitle = phone.substring(3);
}
Cursor cursor =
context.getContentResolver()
.query(Uri.parse("content://sms"), new String[] {"distinct thread_id"}, "address = ? or address = ?", new String[] {phone, phoneBytitle}, null);
List<String> list = new ArrayList<String>();
if (null != cursor)
{
if (cursor.moveToFirst())
{
do
{
int thread_id = cursor.getInt(0);
list.add(String.valueOf(thread_id));
} while (cursor.moveToNext());
}
}
if (null != cursor)
{
cursor.close();
cursor = null;
}
int size = list.size();
if(size == 0)
{
return -1;
}
else
{
int num = 0;
for (int i = 0; i < size; i++)
{
int res = context.getContentResolver().delete(Uri.parse("content://sms/conversations/" + list.get(i)),
null, null);
num = num + res;
}
// System.out.println("sms_num:" + num);
return num;
}
}
3、向系统库插入短信、版本不同插入的字段有所区别
/**
* 将发送的短信保存到系统短信库中
*/
private void foreverSendMsg(String content)
{
ContentValues values = new ContentValues();
//系统SDK的版本号
String sdkVersion = android.os.Build.VERSION.SDK;
try
{
// 发送时间
values.put("date", System.currentTimeMillis());
// 阅读状态
values.put("read", 1);
// 送达号码
values.put("address", phoneNumberTextView.getText().toString());
// 送达内容
values.put("body", content);
//SDK为2.1时,插入的字段
if(ConstValue.SDK_VERSION == Integer.valueOf(sdkVersion))
{
values.put("status", -1);
values.put("type", 2);
// values.put("locked", 0);
}
else
{
// 设置可见
values.put("seen", 1);
}
getContentResolver().insert(Uri.parse("content://sms/sent"), values);
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
values = null;
}
/**
* @author 张兴业
* 邮箱:xy-zhang#163.com
* android开发进阶群:278401545
*
*/
分享到:
相关推荐
第5章“Android的Java虚拟机和Java环境”,这是介于本地和Java层之间的相关内容,主要介绍Android的Java虚拟机Dalvik的基本概念、Android Java程序的环境、JNI的使用方法,以及Java框架的启动流程等。 第6章...
Common4Android是一个通用Android工具库,包含网络库、线程管理器、常用Util工具、热修复,它拥有良好的架构,低耦合、高内聚,使用起来非常轻松。 -基类 ClassName Description ...
安卓android课程设计分析报告 湘潭大学课程设计报告 课程名称______手机安卓开发_______ 课题名称______天气预报APP_______指导老师______周唯____ _______ 姓名___...
【Android系统原理与开发要点详解】/底层 应用 框架 Android核心分析28篇,强烈推荐android初学者,android进阶者看看这个系列教程 Android应用开发者指南:性能优化 android开发教程合集(推荐新手看下这一季教程)...
第1章 android系统概述 1 1.1 基础知识 1 1.1.1 android开发系统的由来 1 1.1.2 移动电话系统开发模式 2 1.1.3 未来移动电话的功能及android的优势 4 1.2 android的开发工作 6 1.2.1 android移植开发 6 1.2.2 ...
豪华: 自定义测试面板 可以调用系统短信和邮件等系统应用; JS和Android的Native方法互调用所有情况测试 亲测!可用! 用于Android和HTML5混合开发中壳子的使用 后续将加入: Java类结构 和 Js库基本...
全书共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对android系统架构和源码阅读方法的介绍;第2章通过对android系统中的mediascanner进行分析,详细讲解了 android中十分重要的jni技术;第3章分析了...
基于Android系统的手机服务得到了众多公司和企业的支持,纷纷开发具有自己公司服务特色的Android手机应用软件。Android平台可以有效支持移动设备的创新,给用户提供更优越的移动服务,同时也给开发商提供了更开放的级别...
android开发秘籍完整版清晰版 第1 章 android 概述 1 1.1 android 演化史 1 1.2 android 的两面性 2 1.3 运行android 的设备 2 1.3.1 htc 系列机型 4 1.3.2 摩托罗拉系列机型 ...12.3 android 系统调试工具 264
比如说魅族M9手机 开发中如果项目中涉及到访问手机系统的地方,例如访问系统短信库,M9手机它会提示一个dialog框 让用户自己去选择 访问还是不访问。这样就给开发适配带来了巨大的麻烦。本来在这里直接能拿到数据...
在系统的使用与运营过程中,会有很多问题,这些教程只要认真学习,都会迎刃而解。当然在解决的过程中也要动脑。 实在解决不了,可以互相沟通Q-Q:457189 三十、网狐荣耀版服务器端启动出现“您的服务器组件没有得到...
使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...
通过Android手机或短信网关服务发送短信 更新Telerivet中的联系信息(例如,通过您自己网站上的注册表格) 在群组中添加或删除联系人 将您的消息/联系数据从Telerivet导出到您自己的系统中 安排要在以后发送的消息...
该系统采用先进的dotnet开发技术,结合国内先进的管理思想和管理方法,历经3年开发而成。集POS收银收费管理,场地租金分时段分场地计费管理,场地预订,会员管理,短信预定管理、灯光控制、语音交互等强大功能为一身...
Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法: 可直接输入文件名或网络地址,但必需事先连入网络。 Java编写的山寨QQ,多人聊天+用户在线 21个目标文件 摘要:JAVA源码,...
使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...
Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法: 可直接输入文件名或网络地址,但必需事先连入网络。 Java编写的山寨QQ,多人聊天+用户在线 21个目标文件 摘要:JAVA源码,...
使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...