Android使用ContentObserver监听数据库变化

Android 使用ContentObserver监听SettingsProvider值的变化 【代码】Android 使用ContentObserver监听SettingsProvider值的变化。 阅读详情

最近有个朋友问了我如何接受指定号码的短信,并且不让系统截取到通知用户。真好前端时间看天朝group,也有个朋友问了这个问题,而且通过 ContentObserver方式解决了。我这里就把我实现的代码贴出来,以便需要的朋友参考。

监听相应的URI的ContentProvider就可以,在OnChange实现你想做的事情或者发广播等。

  1. public class ScreenTest extends Activity {  
  2.     class SmsContent extends ContentObserver {  
  3.         private Cursor cursor = null;  
  4.         public SmsContent(Handler handler) {  
  5.             super(handler);  
  6.         }  
  7.   
  8.         /** 
  9.          * @Description 当短信表发送改变时,调用该方法 
  10.          * 需要两种权限 
  11.          * android.permission.READ_SMS 读取短信 
  12.          * android.permission.WRITE_SMS 写短信 
  13.          * @Author Snake 
  14.          * @Date 2010-1-12 
  15.          */  
  16.         @Override  
  17.         public void onChange(boolean selfChange) {  
  18.             // TODO Auto-generated method stub  
  19.             super.onChange(selfChange);  
  20.             // 读取收件箱中指定号码的短信  
  21.             cursor = managedQuery(Uri.parse("content://sms/inbox"), new String[]{"_id", "address", "read"}, " address=? and read=?", new String[]{"12345678901", "0"}, "date desc");  
  22.             if (cursor != null) {  
  23.                 ContentValues values = new ContentValues();  
  24.                 values.put("read", "1"); //修改短信为已读模式  
  25.                 cursor.moveToFirst();  
  26.                 while (cursor.isLast()){  
  27.                     //更新当前未读短信状态为已读  
  28.                     getContentResolver().update(Uri.parse("content://sms/inbox"), values, " _id=?", new String[]{""+cursor.getInt(0)});  
  29.                     cursor.moveToNext();  
  30.                 }  
  31.             }  
  32.         }  
  33.     }  
  34.       
  35.     /** Called when the activity is first created. */  
  36.     @Override  
  37.     public void onCreate(Bundle savedInstanceState) {  
  38.         super.onCreate(savedInstanceState);  
  39.         setContentView(R.layout.main);  
  40.         SmsContent content = new SmsContent(new Handler());  
  41.         //注册短信变化监听  
  42.         this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, content);  
  43.     }  
  44. } 

Android 使用ContentObserver监听数据库内容是否更改 主要介绍了Android 使用ContentObserver监听数据库内容是否更改的相关资料,ContentObserver内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,需要的朋友可以参考下 立即下载

相关推荐

运算放大器基础1——用作比较器

运算放大器,运放,在电路设计中非常常见。在图2中,当前状态下,开关切换到0V,“正相输入”和“负相输入”都是接地,运放两个输入端电压相同。最后,调节可变电阻,使其两端电压大于3.37V,比如3.43V,作为运放正相输入,由于电压大于反相输入,LED点亮(运放输出为5V)。其次,调节可变电阻,使其两端电压小于3.37V,比如2.09V,作为运放正相输入,由于电压小于反相输入,LED不点亮。好,现在我们将0.1V电源换个方向,这样实际“正相输入”的是-0.1V,比“负相输入”的电压要低,看看输出是什么?

m0_60069998的博客 6124

ContentProvider 之 监听共享数据变化

ContentProvider 监听共享数据发生改变

伯特立的专栏 1356

别再死磕文档了!用国产MBSES软件5分钟上手MBSE建模(保姆级图文教程)

本文通过国产MBSES软件,详细演示了如何在5分钟内完成智能家居系统的MBSE建模。从模块图定义到状态机图构建,再到参数约束验证,全程图文指导,帮助工程师快速掌握基于模型的系统工程方法,显著提升复杂系统设计效率。

weixin_26833503的博客 245

ContentObserver监听系统属性变化

ContentObserver监听系统属性变化 有时候我们需要监听系统属性变化,或者通过修改系统属性的值来通知其它应用做相应的操作。 以无障碍服务的属性为例,通过ContentObserver监听其变化:Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES 1、新建MyContentObserver.java类继承ContentObserver; import android.database.ContentObserver; import android.os.H

feng海涛 3605

图相似度模型(论文篇)

图相似度模型

weixin_43702653的博客 5751

BES (恒玄)HFP通话笔记

1.audio_developer 调试:SDK 需要打开某个算法,需要原厂打开对应宏定义编译出新的SDK,只要涉及到lib库里的功能都需要原厂手动修改编译。开发商和原厂FAE做起来都会比较累。如果没有原厂支持根本没法做,很少文档,SDK也很多问题,没法开箱即用如果要支持audio_developer上位机调试,还需改代码,如果对整个原理不清楚就没法做,没文档只能啃代码调试工具设计的也有待加强,串口通讯调试对耳机这类产品非常麻烦,本来板子就不大,还要焊接一堆线,调试还要拖着串口线。

飞天鱼 690

关于 Android 监测数据库内容变化并更新UI的方法

在Android开发中,监听数据库变化并及时更新界面是常见的需求

特立独行的博客 7597

NRF24L01学习操作教程(二)——NRF实现一对一,一对多通讯

以上内容详细介绍了,使用NRF24L01实现1对1单向通讯、1对1双向通讯、1对多双向通讯。

Joseph Wen的博客 7391

安卓 监听 mysql_(转)Android使用ContentObserver监听数据库变化

public class ScreenTest extends Activity {class SmsContent extends ContentObserver {private Cursor cursor = null;public SmsContent(Handler handler) {super(handler);}/*** @Description 当短信表发送改变时,调用该方法 需...

weixin_33158887的博客 220

Linux云服务器上搭建《僵尸毁灭工程》私服全流程指南(避坑版)

本文详细介绍了在Linux云服务器上搭建《僵尸毁灭工程》私服的全流程指南,包括环境准备、SteamCMD安装、游戏服务器部署、内存优化配置及高级调优技巧。特别针对常见问题提供解决方案,帮助玩家快速搭建稳定的私服环境。

solidity8miner的博客 606

用Arduino Uno和纸板做个扫地机器人?手把手教你复刻一个低成本DIY方案(附完整代码)

本文详细介绍了如何用Arduino Uno和纸板制作一款低成本DIY扫地机器人,涵盖材料准备、机械结构设计、电路系统搭建和智能清扫算法实现。通过开源硬件和日常废弃物,打造极致性价比的创客项目,适合初学者学习电子和编程。

weixin_42531588的博客 285

android 使用contentobserver监听数据库内容变化

android 使用contentobserver监听数据库内容变化 在android中经常会用到改变数据库内容后再去使用数据库更新的内容,很多人会重新去query一遍,但是这样的问题就是程序会特别占内存,而且有可能会搂关cursor而导致程序内存未释放等等。其实android内部提供了一种ContentObserver的东西来监听数据库内容的变化。 ContentObserver的构造函

stop_pig的专栏 1万+

uniapp(vue3)- 详解安装/使用pinia报错reportJSException >>>> exception function:createInstanceContext, excepti

uniapp vue3 pinia报错reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack -> at useStore,H5网页,微信小程序,安卓App,苹果App,nvue,uniapp安装使用pinia出现报错at useStore,uniapp+vue3+ts 使用pinia报

🏆 前端领域优质创作者 4049

(转)Android使用ContentObserver监听数据库变化

public class ScreenTest extends Activity { class SmsContent extends ContentObserver { private Cursor cursor = null; public SmsContent(Handler handler) { super(handler); } /** ...

weixin_30617561的博客 99

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

Android使用ContentObserver监听数据库变化,截取系统通知用户接收到短信

最近有个朋友问了我如何接受指定号码的短信,并且不让系统截取到通知用户。真好前端时间看天朝group,也有个朋友问了这个问题,而且通过 ContentObserver方式解决了。我这里就把我实现的代码贴出来,以便需要的朋友参考,最近Google-groups上不去,很是郁闷啊。

junjieking的专栏 5834

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

android 监听图库变化,Android ContentObserver 监听图库变化

电脑环境是XP,软件是gVim7.3,安装在C盘的 Program Files 下。如何设置gVim的字体和背景颜色:C---Program Files---Vim---_vimrc文件,用文本编辑器打开此文件Android ContentObserver 监听图库变化分类:Android记事相比FileObserver的繁琐,ContentObserver在易用性上还是要优秀一些的,因此我们可以...

weixin_34007888的博客 693

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

android 监听参数变化,[Android] ContentObserver监听数据变化

我们在ContentProvider的insert,update,delete等改变之后调用getContext().getContentResolver().notifyChange(uri, null);这样就通知那些监测databases变化的observer了,而你的observer可以在一个service里面注册。定义ContentObserver,并且在onChange里做你想做的事情...

weixin_36299482的博客 615

【安卓学习积累】ContentObserver的使用

在开发过程中使用到ContentObserver的主要用途就是监听数据库内容的变化,例如我们经常会通过在SettingProvider中写入一个标志位来进行各种判断。如果我们要监听这个标志位的变化就是使用到ContentObserver。还有假如我们需要监听(蓝牙开关、飞行模式开关等)都会用到ContentObserver。 一、ContentObserver的创建 创建ContentOb...

xiangzaixiansheng的博客 1487

安卓 监听 mysql_android之监听某个数据库值的变化

1、在onCreate 函数中注册监听:其中CONTENT_URI 部分就是你关心的数据库字段的URI地址getApplicationContext().getContentResolver().registerContentObserver(CONTENT_URI, true, mObserver);2、监听部分如下:private ContentObserver mNotepadObserve...

weixin_39670441的博客 288
上一篇: Android DownloadManager的用法
下一篇: GoogleAndroid常用的Android常量
shareCode
博客等级 码龄15年 125粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值