有沒有方法可以說明爲什麼觸發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????????
}
}