我需要对mms内容提供程序进行observ更改,所以我注册了这样的内容观察者:
mmsObserver = new MMSObserver();
contentResolver = getBaseContext().getContentResolver();
contentResolver.registerContentObserver(Uri.parse("content://mms"), true, mmsObserver);
只需在观察者中登录onChange方法:
class MMSObserver extends ContentObserver {
public MMSObserver() {
super(null);
}
public void onChange(final boolean bSelfChange) {
super.onChange(bSelfChange);
Timber.i("test");}}
但它没有记录任何东西,所以我想onChange还没有被调用。我做错了什么,或者我无法观察内容:// mms,导致内容上的类似观察者:// mms-sms / conversation可以正常工作。
答案 0 :(得分:0)
我不相信你做错了什么。我遇到了同样的问题,而且“content:// mms / part”也不起作用。
我的解决方案是使用“content:// mms-sms / inbox”uri,然后使用“ct_t”列确定它是否实际上是MMS。
String string = query.getString(query.getColumnIndex("ct_t"));
if (!"application/vnd.wap.multipart.related".equalsIgnoreCase(string) &&
!"application/vnd.wap.multipart.mixed".equalsIgnoreCase(string)) {
// It's not an MMS
continue;
}
对于它的价值,我正在测试KitKat。也许这适用于其他版本。