有没有方法可以说明为什么触发ContentObserver?例如,如果我通过“content:// sms”URI监控SMS并发送或接收SMS,是否有方法可以在ContentObserver类中推断SMS类型是什么(我知道我可以设置N ContentObservers,指定不同的URI,但我希望有一种方法可以告诉ContentObserver类)?从ContentObserver获取触发器
奖金:另外还有一个有趣的细微之处:
的第二个方法只能从API级别16日起,这样的代码不应该依赖于一个URI才能正常工作。
ContentObserver:
ContentResolver contentResolver = getBaseContext().getContentResolver();
contentResolver.registerContentObserver(Uri.parse("content://sms"), true,
new MessageObserver(new Handler(), getBaseContext()));
ContentObserver类:
class SMSObserver extends ContentObserver {
public MyObserver(Handler handler) {
super(handler);
}
@Override
public void onChange(boolean selfChange) {
this.onChange(selfChange, null);
// What SMS type caused this to trigger????????
}
@Override
public void onChange(boolean selfChange, Uri uri) {
// What SMS type caused this to trigger????????
}
}