定义一个ContentObserver的子类 //观察屏幕旋转设置变化,类似于注册动态广播监听变化机制 private class RotationObserver extends ContentObserver
ContentResolver中发出通知: notifyChange(uri, observer, true /* sync to network */); *结论: 根据uri 找到 监听此URI 的Contentobserver...c.registerContentObserver(mChangeObserver); // 内容观察者 c.registerDataSetObserver(mDataSetObserver); // 数据观察者 * 当Contentobserver...发送更新通知时,执行cursor的 内容观察者即: * mChangeObserver.onChange()方法 : private class ChangeObserver extends ContentObserver
Android 使用ContentObserver监听数据库内容是否更改 ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,继而做一些相应的处理,它类似于数据库技术中的触发器...(Trigger),当ContentObserver所观察的Uri发生变化时,便会触发它。...触发器分为表触发器、行触发器,相应地ContentObserver也分为“表“ContentObserver、“行”ContentObserver,当然这是与它所监听的Uri MIME Type有关的。...注册/取消注册ContentObserver方法,抽象类ContentResolver类中的方法原型如下: public final void registerContentObserver ( Uri...uri, boolean notifyForDescendents, ContentObserver observer ) 功能:为指定的Uri注册一个ContentObserver派生类实例,当给定的
Android 中自定义ContentProvider与ContentObserver的使用简单实例 示例说明: 该示例中一共包含两个工程。...其中一个工程完成了自定义ContentProvider,另外一个工程用于测试该自定义ContentProvider且在该工程中使用了ContentObserver监听自定义ContentProvider...long newId = db.insert("person", "name,phone,salary", values); //向外界通知该ContentProvider里的数据发生了变化 ,以便ContentObserver...的使用 * * 备注说明: * 1 该例子在以前版本的基础上整理了代码 * 2 该例子在以前版本的基础上融合了ContentObserver的使用 * 利用ContentObserver随时监听...private class ContentObserverSubClass extends ContentObserver { public ContentObserverSubClass(Handler
{ private ContentObserver mContentObserver; public Transport(ContentObserver contentObserver...selfChange, Uri uri, int userId) { ContentObserver contentObserver = mContentObserver;...if (contentObserver !...mContentObserver; public Transport(ContentObserver contentObserver) { mContentObserver...) { ContentObserver contentObserver = mContentObserver; if (contentObserver !
; public Transport(ContentObserver contentObserver) { mContentObserver = contentObserver...contentObserver = mContentObserver; if (contentObserver !...--通过 contentObserver发送回调通知--> contentObserver.dispatchChange(selfChange, uri, userId);...mContentObserver; public Transport(ContentObserver contentObserver) { mContentObserver...) { ContentObserver contentObserver = mContentObserver; if (contentObserver !
内容观察者 ContentProvider ContentResolver ContentObserver 三者关系 我们不是牛逼的程序员,我们只是程序开发中的垫脚石。...5.ContentObserver 内容观察者 内容观察者通过指定 监听数据是否改变。...自定义 ContentObserver 内容观察者 1.注册ContentObserver 内容观察者 registerContentObserver 2.继承 ContentObserver 实现 onChange...调用ContentObserver 监听短信数据改变 6....ContentProvider ContentResolver ContentObserver 三者关系 三者关系图如下 关系图.png 至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。
registerContentObserver(uri,notifyForDescendents,observer)方法,参数:Uri对象,是否精确uri(true不精确,false精确),observer对象 ContentObserver...对象 因为ContentObserver是a抽象类,因此我们写一个内部类来继承这个抽象类,必须实现构造函数,构造函数的Handler对象消息处理器稍后会讲 定义一个内部类MyObserver,实现父类的...com.tsh.myobserver; import android.app.Activity; import android.content.ContentResolver; import android.database.ContentObserver..., true, new MyObserver(new Handler())); } //内部类实现内容观察者 private class MyObserver extends ContentObserver
java.util.regex.Pattern; import net.iaf.framework.util.Loger; import android.app.Activity; import android.database.ContentObserver...android.widget.EditText; /** * 读取短信内容 自动填充验证码 * * @author qjx * */ public class SmsContentUtil extends ContentObserver
oms.action.MASTERRESET”.equals(action)){ RecoverDefaultConfig(); } } }; 9:定义ContentObserver...,监听某个数据表 private ContentObserver mDownloadsObserver = new DownloadsChangeObserver(Downloads.CONTENT_URI...); private class DownloadsChangeObserver extends ContentObserver { public DownloadsChangeObserver
作法如下: 1)获取状态并遍历 contentObserver = new ContentObserver(mHandler) { @Override public void onChange...projection; public String selection; public String[] selectionArgs; public String orderBy; public ContentObserver...contentObserver; public Runnable runnable; public Object cookie; } 2.安全弹出U盘 弹出U盘的方法很简单,跟删除数据库数据基本类似
DownloadManager manager; Cursor cursor; DownloadManager.Request down; DownloadManager.Query query; ContentObserver...contentObserver; /** 下载apk的线程 */ public void downloadAPK() { manager = (DownloadManager) LiuLiuApplication.getContext...DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); long id = manager.enqueue(down); query = new DownloadManager.Query().setFilterById(id); contentObserver...= new ContentObserver(mHandler) { @Override public void onChange(boolean selfChange) { // super.onChange...} } }; mContext.getContentResolver().registerContentObserver(Uri.parse("content://downloads/"),true,contentObserver
其实很简单,就是用到了Android中的一个叫ContentObserver的东西,下面手动简单实现一个~~~ 一、开发ContentObserver 主要是用来监听收件箱的内容,一旦有新消息过来...如果是,就直接用正则表达式截取 /** * 短信验证码截取 * * @author yangfan * */ public class SMSContentObserver extends ContentObserver
registerContentObserver(Settings.System.getUriFor("navigationbar_is_min"), true, mNavigationStatusObserver); private ContentObserver...mNavigationStatusObserver = new ContentObserver(new Handler()) { @Override public void onChange
须要利用Android提供了ContentObserver基类。 监听ContentProvider数据改变的监听器须要继承ContentObserver类。...在使用的时候须要通过ContentProvider向指定的Uri注冊ContentObserver监听器。...final class ImageObserver extends ContentObserver { public ImageObserver(Handler handler
本次用到的观察者就是ContentObserver,它就是特定uri引起的数据库改变。...3.由于contentObserver的生命周期与Activity和Service不同步,在不需要的时候需要手动取消注册。...getContentResolver().unregisterContentObserver(smsObserver); } } 3.最关键的内容观察者 public class SmsObserver extends ContentObserver
一般大家都会采用如下两种方法 1.监听截屏图片所在目录变化(FileObserver) 2.监听媒体库的变化(ContentObserver) 上面两种方法均不是万能的,需要结合使用才能达到良好的效果...这个方法使用ContentObserver即可。...private static final ContentObserver CONTENT_OBSERVER = new ContentObserver(HANDLER) { @Override
getContext().getContentResolver().notifyChange(uri, null); } } 如果ContentProvider的访问者需要得到数据变化通知,必须使用ContentObserver...对数据(数据采用uri描述)进行监听,当监听到数据变化通知时,系统就会调用ContentObserver的onChange()方法: getContentResolver().registerContentObserver...return contactInfos; } } 窃听用户发出的短信 用户使用系统自带的短信程序发送短信,程序会通过ContentProvider把短信保存进数据库,并且发出一个数据变化通知,使用ContentObserver...对数据变化进行监听,在用户发送短信时,就会被ContentObserver窃听到短信: 注册监听: getContentResolver().registerContentObserver(Uri.parse...content://sms"), true, new SmsObserver(new Handler())); 监听类: private final class SmsObserver extends ContentObserver
4、说说ContentProvider、ContentResolver、ContentObserver之间的关系 a.ContentProvider内容提供者,用于对外提供数据 b.ContentResolver.notifyChange...(uri)发出信息 c.ContentResolver内存解析者,用于获取内容提供者提供的数据 d.ContentObserver内容观察者,可以监听数据的改变状态 e.ContentResolver.registerContentObserver
领取专属 10元无门槛券
手把手带您无忧上云