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
*
*/

转载于:https://www.cnblogs.com/xyzlmn/archive/2011/12/15/3168137.html

android系统短信库的一些用法相关推荐

  1. Android软件开发之发送短信与系统短信库解析(三十)

    Android软件开发之发送短信与系统短信库解析 雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www.xuanyusong.com/arc ...

  2. android基础--短信库解析

    Android平台下如何调用系统方法发送短信.接收短信.系统的短信库相关的问题. 系统的短信库存在data/data/com.android.providers.telephony/databases ...

  3. android 系统短信数据库的查询与删除

    对系统短信数据库进行操作 首先,需要如下权限 <uses-permission android:name="android.permission.READ_SMS" /> ...

  4. android手机获取系统短信sqlite数据库并查看内容

    一个朋友过来,准备玩玩Ta的android手机,给我之前还要拿回去看看,结果是ta把短信加密了(第三方短信),怕我知道ta的啥见不得人的秘密.o(∩_∩)o 哈哈.TA威胁我说加密了,看我怎么看.结果 ...

  5. android ContentObserver监听系统短信和备份短信到本地

    contentProvider中的一个工具,记录一下. 监听短信: package com.example.messagedemo;import android.net.Uri; import and ...

  6. linux 短信功能,Android调用系统短信功能发送短信

    Android调用系统短信功能发送短信有两种方法: 第一种,设定发送的号码,和内容,界面没有联系人,群组组等按钮,如下图所示: 代码如下: Uri smsToUri = Uri.parse(" ...

  7. Android内容提供器的应用,基于Android的智能终端应用防护系统短信过滤子模块的设计与实现...

    摘要: 智能终端随着3G业务的推广而普及,在各种平台的竞争中,Android逐渐占据了主流,谷歌学习苹果的应用商店模式,推出了自己的应用商城.面对应用市场的繁荣,用户的终端安装了形形色色的应用,许多安 ...

  8. ios10 android 短信,ios10系统短信怎么发送手写内容?ios10短信发送手写内容教程[多图]...

    ios10又有新功能啦啦!!小伙伴们赶紧奔走呼号,ios10系统短信可以发送手写内容,听起来就很酷炫!ios10系统短信怎么发送手写内容?来看看ios10短信发送手写内容教程吧! ios10系统短信怎 ...

  9. Android:读取系统短信

    1.权限: private void initSmsPermissions() {RxPermissions permissions = new RxPermissions(this);permiss ...

最新文章

  1. Apache Derby-02通过IJ简单操作DERBY
  2. php板块模板,有没有办法制作模板,但没有在板块php渲染它
  3. html5 css3炫酷效果,28种纯CSS3炫酷loading加载动画特效
  4. 解锁秋天\秋季借势的海波设计密码!
  5. leetcode Longest Consecutive Sequence
  6. 互联网搜索的哪些环节 机器学习_什么是机器学习?有哪些分类?到底有什么用?终于有人讲明白了...
  7. Vue学习笔记之07-v-for循环遍历
  8. sqlserver修改实例名
  9. 评价一个推荐系统的指标详解!
  10. DSP程序结构优化技巧
  11. 在正常系统如windows/MacOS/Linux等体验假勒索病毒WamaCry(永恒之蓝)
  12. h5前端开发,96道前端面试题
  13. 阿里矢量图库的正确打开方式
  14. HTML的弹性布局用法
  15. 阿里巴巴常用的12种开发工具,赶紧收藏
  16. TeamViewer使用心得
  17. STM32F407VET6读写GD25Q16(W25Q16)
  18. 计算机房需要排风吗,机房新风排风系统怎么样 机房新风排风系统原理介绍【详解】...
  19. TIOBE 3月编程排行榜出炉!Python杀疯了!
  20. ARP攻击与ARP欺骗

热门文章

  1. restTemplate http请求报错:no suitable HttpMessageConverter found for response type and content type
  2. 距离传感器控制灯泡代码_如何使用颜色传感器和超声波传感器检测障碍物和避障...
  3. 2022-2028年中国聚氨酯结构胶行业发展动态分析及投资机会预测报告
  4. OpenCV 笔记(06)— Mat 结构、像素值存储方法、创建 Mat 对象各种方法、Mat 对象的运算
  5. Windows10自带搜索增强设置
  6. 预见未来丨机器学习:未来十年研究热点
  7. pycharm debug后会出现 step over /step into/step into my code /force step into /step out 分别表示...
  8. Spring Data JPA 五分钟快速入门和实践
  9. 华为八爪鱼自动驾驶云
  10. TVM性能评估分析(四)