zoukankan      html  css  js  c++  java
  • Android -- 内容观察者

    一张图了解内容观察者:

    image

    背景                                                                                         

    通过发送一条短信,然后手机接收到,那么数据库必然改变,内容观察者这时候就起作用了。

    程序                                                                                         

    public class MainActivity extends Activity {
    
        @Override
        protected 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()));                   
        }
        
        class MyObserver extends ContentObserver
        {
    
            public MyObserver(Handler handler) {
                super(handler);            
            }
    
            //当内容观察者观察到数据库的内容发生了变化就会调用这个方法
            //观察到消息邮箱里有一条数据库内容变化的通知
            @Override
            public void onChange(boolean selfChange) {
                super.onChange(selfChange);
                Toast.makeText(MainActivity.this, "数据库的内容发生了变化", Toast.LENGTH_LONG).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"));
                System.out.println("address"+address+"+++++++body:"+body);
                cursor.close();
            }                  
        }    
    }

    效果                                                                                          

    image

    注意一下短信的读取的权限哈!!

    我是天王盖地虎的分割线                                                                

    源代码:http://pan.baidu.com/s/1dD1Qx01

    内容观察者.zip

    转载请注明出处:http://www.cnblogs.com/yydcdut

  • 相关阅读:
    00077_集合
    python、js、php区别---6、函数相关
    python、js、php区别---5、存储结构
    python、js、php区别---4、基本结构
    python、js、php区别---3、运算符
    python、js、php区别---2、数据类型
    python、js、php区别---1、基本区别
    python疑难问题---3、可变和不可变数据类型
    python疑难问题---2、字典排序
    python疑难问题---1、遍历列表的三种方式
  • 原文地址:https://www.cnblogs.com/yydcdut/p/3791258.html
Copyright © 2011-2022 走看看