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