【问题标题】:Broad cast receiver for Incoming Gmails传入电子邮件的广播接收器
【发布时间】:2013-06-04 09:25:35
【问题描述】:

我需要做的是创建一个应用程序,根据发件人为每个传入的 Gmail 生成自定义通知声音。因此,我需要在收到新邮件时收到通知,并获取电子邮件发件人的 email_id 或名称。 我想到的几个解决方案是,

1) Gmail 标签 API - 但它不提供有关内部电子邮件或通知的信息。 2) 使用具有 READ_GMAIL 权限的内容解析器 - 我认为 Gmail 已停止访问较新的 Gmail 版本。 3) 读取通知栏或通知监听器 - Android 不允许读取通知栏。

有没有其他解决方法可以解决这个问题?

【问题讨论】:

    标签: android notifications gmail broadcastreceiver listener


    【解决方案1】:

    不清楚,希望对你有帮助

    1. 你需要注册一个内容观察者(不是广播接收者)

    contentResolver.registerContentObserver(Uri.parse("content://gmail- ls"), true, _gmailObserver);

    _gmailObserver 是您自己的 ContentObserver 对象。

    1. ContentObserver.onChange 每次在 Gmail 中发生变化时都会被调用。

    在这里你会得到所有这样的对话:

    Cursor conversations = _contetResolver.query(Uri.parse("content://gmail-ls/conversations/"  + YourEmailAddress, null, null, null, null);
    

    实际的对话消息将是:

    Cursor messages = _contetResolver.query(Uri .parse("content://gmail-ls/conversations/" + YourEmailAddress + "/"  + String.valueOf(conversationId) + "/messages"), null, null, null, null); 
    

    【讨论】:

      【解决方案2】:

      这是不可能的,至少通过任何记录和支持的方式是不可能的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-28
        • 1970-01-01
        • 1970-01-01
        • 2023-03-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多