1.内容观察者定义:
ContentResolver resolver = getContentResolver();
resolver.registerContentObserver(uri, true, new Myobserver(new Handler()));
package com.example.observer;
import com.example.resolver.R;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.widget.Toast;
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()));
}
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();
Uri uri = Uri.parse("content://sms/");
ContentResolver resolver = getContentResolver();
Cursor cursor = resolver.query(uri, new String[] { "address",
"body", "type" }, null, null, null);
cursor.moveToFirst();
String address = cursor.getString(0);
String body = cursor.getString(2);
System.out.println("address=" + address + "body=" + body);
cursor.close();
}
}
}