Android学习 - ContentObserver监听

来源:互联网 发布:iphone7虚拟定位软件 编辑:程序博客网 时间:2024/05/01 21:36

这个不多说直接上代码就成。

import android.app.Activity;import android.content.ContentValues;import android.database.ContentObserver;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.os.Handler;public class ScreenTest extends Activity {class SmsContent extends ContentObserver {private Cursor cursor = null;public SmsContent(Handler handler) {super(handler);}/** * @Description 当短信表发送改变时,调用该方法 需要两种权限 android.permission.READ_SMS读取短信 *              android.permission.WRITE_SMS写短信 * @Author Snake * @Date 2010-1-12 */@SuppressWarnings("deprecation")@Overridepublic void onChange(boolean selfChange) {// TODO Auto-generated method stubsuper.onChange(selfChange);// 读取收件箱中指定号码的短信cursor = managedQuery(Uri.parse("content://sms/inbox"),new String[] { "_id", "address", "read" }," address=? and read=?",new String[] { "12345678901", "0" }, "date desc");if (cursor != null) {ContentValues values = new ContentValues();values.put("read", "1"); // 修改短信为已读模式cursor.moveToFirst();while (cursor.isLast()) {// 更新当前未读短信状态为已读getContentResolver().update(Uri.parse("content://sms/inbox"), values, " _id=?",new String[] { "" + cursor.getInt(0) });cursor.moveToNext();}}}}@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);SmsContent content = new SmsContent(new Handler());// 注册短信变化监听this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, content);}}


0 0
原创粉丝点击