Android笔记ContentObserve的使用
来源:互联网 发布:java面向对象总结 编辑:程序博客网 时间:2024/05/29 18:15
用户使用系统自带的短信程序发送短信,程序会通过ContentProvider把短信保存进数据库,并且发出一个数据变化通知,使用ContentObserver对数据变化进行监听,在用户发送短信时,就会被ContentObserver窃听到短信:
MainActivity.java
package com.example.observer;import android.support.v7.app.ActionBarActivity;import android.content.ContentResolver;import android.database.ContentObserver;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.os.Handler;import android.view.Menu;import android.view.MenuItem;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends ActionBarActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ContentResolver resolver=getContentResolver();Uri uri=Uri.parse("content://sms/");//注册监听:resolver.registerContentObserver(uri, true, new MyObserver(new Handler()));}//监听类:private class MyObserver extends ContentObserver{public MyObserver(Handler handler) {super(handler);}/** * 当内容观察者 观察到时数据库的内容变化了调用这个方法 * 观察到消息邮箱里面有一条数据库内容变化通知 */@Overridepublic void onChange(boolean selfChange) {super.onChange(selfChange);Toast.makeText(MainActivity.this, "数据库内容变化了!", 1).show();Uri uri=Uri.parse("content://sms/");ContentResolver resolver=getContentResolver();Cursor cursor = resolver.query(uri, new String[] { "address", "date","type", "body" }, null, null, null);cursor.moveToFirst();String address= cursor.getString(cursor.getColumnIndex("address"));String body=cursor.getString(cursor.getColumnIndex("body"));TextView textView=(TextView) findViewById(R.id.tv);textView.setText("address:"+address+"\n"+"body:"+body);cursor.close();}}}
0 0
- Android笔记ContentObserve的使用
- android 使用ContentObserve对数据库的值变化进行监听
- ContentObserve的基本使用方法
- Android笔记: AsyncTask 的使用
- Android shape的使用笔记
- android笔记--简单的listactivity的使用
- android 入门学习笔记 LayoutInflater的使用
- android学习笔记---SQLite数据库的使用
- android学习笔记20--------------RelativeLayout的使用
- 【Android学习笔记】LogCat的使用
- Android学习笔记05:ProgressBar的使用
- Android学习笔记06:ListView的使用
- android应用开发笔记---_Handler的使用
- Android 学习 笔记_03. SQLite的使用
- Android菜鸟笔记-selector的使用
- Android菜鸟笔记-振动器Vibrator的使用
- android学习笔记之ProgressDialog的使用
- android学习笔记之RadioGroup的使用
- 命名空间
- Unique Paths II
- 模仿去哪儿的磁贴效果
- 手机卫士学习11-MD5加密
- IAR编译代码空间定义
- Android笔记ContentObserve的使用
- 一个单链表中返回倒数第n个元素
- HTTP content-type
- 算法竞赛入门经典第二章习题解答
- Linux 内核编译
- Js中 关于top、clientTop、scrollTop、offsetTop等
- GTK入门学习:布局练习之计算器
- Hello Riak
- 气球