package com.example.observertest; import android.content.ContentResolver; import android.database.ContentObserver; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class MainActivity extends ActionBarActivity { @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())); } private class MyObserver extends ContentObserver { public MyObserver(Handler handler) { super(handler); } //当内容观察者 观察到是数据库的内容变化了调用这个方法
//观察到消息邮箱里面有一条数据库内容变化的通知
@Override public void onChange(boolean selfChange) { super.onChange(selfChange); Toast.makeText(MainActivity.this, "数据库内容发生了改变", 1).show(); } } }