Android的内容观察者
- - CSDN博客移动开发推荐文章有个很常见的需求就是当有新的短信来的时候,把内容显示在界面上. 就是让你的程序监视短信,如果他内容发生变化的时候,你去获取. 而短信那边做的情况就 是,当他自己的数据变化时,他告诉有个公共短信内存区,他说,我数据变化了. 然后通过短信的内容提供者把短信的内容拿到公共内存区,你的程序再过去拿. 作者:howlaa 发表于2014-3-8 23:31:28 原文链接.
有个很常见的需求就是当有新的短信来的时候,把内容显示在界面上。这里就要用到内容观察者。就是让你的程序监视短信,如果他内容发生变化的时候,你去获取。而短信那边做的情况就 是,当他自己的数据变化时,他告诉有个公共短信内存区,他说,我数据变化了!然后通过短信的内容提供者把短信的内容拿到公共内存区,你的程序再过去拿。这里有点简单的示例代码:
ContentResolver resolver = getContentResolver(); Uri uri = Uri.parse("content://sms/"); resolver.registerContentObserver(uri, true, new MyObserver(new Handler())); Cursor cursor = resolver.query(uri, new String[]{"address","date","type","body"}, null, null, null); cursor.moveToFirst(); String address = cursor.getString(0); String body = cursor.getString(3); System.out.println(address+"---"+body); cursor.close();