mms上的内容观察者不起作用

时间:2015-07-29 20:23:09

标签: android mms contentobserver

我需要对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可以正常工作。

1 个答案:

答案 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。也许这适用于其他版本。