【问题标题】:Get the unread mail count gmail in Android在 Android 中获取未读邮件计数 gmail
【发布时间】:2017-11-13 22:10:32
【问题描述】:

我想获取设备帐户中未读电子邮件数量的整数。我已经看到有一种使用“Gmail 标签公共 API”的新方法

http://android-developers.blogspot.in/2012/04/gmail-public-labels-api.html

我已阅读文档并下载了示例应用程序,它确实有效。但是我有两个问题:(

我的目的是获取未读对话的数量,我试试这个:

 public static int getUnreadGmailCount(Context context) {

    ContentResolver cr = context.getContentResolver();
    Cursor cursor = cr.query(GmailContract.Labels.getLabelsUri("ensisinfo102@gmail.com"),
            null,
            null, null,
            null);
    if (cursor == null || cursor.isAfterLast()) {
        Log.d(TAG, "No Gmail inbox information found for account.");
        if (cursor != null) {
            cursor.close();
        }
        return 0;
    }
    int count = 0;
    while (cursor.moveToNext()) {
        if (CANONICAL_NAME_INBOX_CATEGORY_PRIMARY.equals(cursor.getString(cursor.getColumnIndex(CANONICAL_NAME)))) {
            count = cursor.getInt(cursor.getColumnIndex(NUM_UNREAD_CONVERSATIONS));
            System.out.println("count is====>"+count);
            break;
        }
    }
    cursor.close();
    return count;
}

但不起作用,总是返回“0”,但在 gmail 中我有 3 条未读消息

非常感谢任何帮助

感谢和问候

【问题讨论】:

    标签: android gmail-api


    【解决方案1】:

    您可以get a label 并查看messagesUnreadINBOX 标签可能就是你想要的:

    请求

    GET https://www.googleapis.com/gmail/v1/users/me/labels/INBOX?access_token={ACCESS_TOKEN}
    

    回应

    {
     "id": "INBOX",
     "name": "INBOX",
     "messageListVisibility": "hide",
     "labelListVisibility": "labelShow",
     "type": "system",
     "messagesTotal": 4527,
     "messagesUnread": 4498,
     "threadsTotal": 4168,
     "threadsUnread": 4154
    }
    

    【讨论】:

    【解决方案2】:

    请仔细阅读此document 并检查此one

    【讨论】:

      猜你喜欢
      • 2016-11-30
      • 2014-04-19
      • 1970-01-01
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 2011-10-14
      • 2017-11-14
      • 2023-04-10
      相关资源
      最近更新 更多