首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android MMS观测器

Android MMS观测器
EN

Stack Overflow用户
提问于 2016-08-22 04:22:33
回答 1查看 752关注 0票数 2

我有以下代码:

代码语言:javascript
复制
public class MmsObserver extends ContentObserver {
    private Context context;

    public MmsObserver(Handler handler) {
        super(handler);
        this.context = service.getBaseContext();
    }

    @Override
    public void onChange(boolean selfChange) {
        super.onChange(selfChange);

        Long largestDateCounted = Long.parseLong(UserPreferencesManager.getInstance().getValueFromPreferences(context, context.getString(R.string.preferences_current_counter), "0"));
        String filter = "creator != ? and date > ?";
        String[] args = new String[]{context.getPackageName(), Long.toString(largestDateCounted)};
        Cursor c = context.getContentResolver().query(Constants.Mms, null, filter, args, null);

        try {

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            c.close();
        }
    }
}

我试图观察用户何时发送/接收到MMS消息。但是,我的观察者从来没有接到过电话。这上面有我遗漏的东西吗?我阅读了以下内容:

Android MMS Monitoring

Android MMS Broadcast receiver

编辑

下面是我如何运行观察者:

代码语言:javascript
复制
mmsContent = new MmsObserver(new Handler());
getContentResolver().registerContentObserver(Constants.Mms, true, mmsContent);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-22 05:11:33

在为MMS注册ContentObserver时,URI必须是content://mms-sms/,至少在较旧的Android版本上是这样。由于某些原因,content://mms/不会在ContentObserver上工作,只是可能会触发对草案消息的更改。

请注意,这也将导致观察者触发SMS表的更改。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39071378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档