1. 程式人生 > >Android的內容觀察者

Android的內容觀察者

有個很常見的需求就是當有新的簡訊來的時候,把內容顯示在介面上。這裡就要用到內容觀察者。就是讓你的程式監視簡訊,如果他內容發生變化的時候,你去獲取。而簡訊那邊做的情況就 是,當他自己的資料變化時,他告訴有個公共簡訊記憶體區,他說,我資料變化了!然後通過簡訊的內容提供者把簡訊的內容拿到公共記憶體區,你的程式再過去拿。這裡有點簡單的示例程式碼:

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();