我启动了一个像这样注册ContentObserver
的服务SMS inbox
smsObserver = new SmsObserver(new Handler());
getContentResolver().registerContentObserver(Uri.parse("content://sms/inbox"), true, smsObserver);
这是类,我只想知道何时对提供者进行了更改但我没有得到onChange
方法的回调
private class SmsObserver extends ContentObserver{
public SmsObserver(Handler handler) {
super(handler);
}
@Override
public void onChange(boolean selfChange){
super.onChange(selfChange);
Cursor c = getContentResolver().query(Uri.parse("content://sms/inbox"),
new String[] {"thread_id"},"address" + "=" + from,null,null);
if(c != null && c.moveToLast()){
long id = c.getLong(0);
Log.d("ID", c.getString(0));
}
c.close();
}
}
我还为 Uri 注册了一个观察者,这个观察者content://mms-sms/conversations
有效,我只是复制了我从这个到 SmsObserver 类的所有操作,所以我不知道出了什么问题,我可以不设置观察者content://sms/inbox
吗?