【问题标题】:Get unread conversations gmail获取未读对话 gmail
【发布时间】:2023-03-31 14:42:01
【问题描述】:

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

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

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

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

String unread = GmailContract.Labels.NUM_UNREAD_CONVERSATIONS.toString();

但不起作用,总是返回"numUnreadConversations"

如何获得这个值的 int 值?

我的第二个问题是:代码在我设备的默认计数下正常工作,但我想获得所有设备 gmail 帐户的所有未读对话的值

非常感谢任何帮助

感谢和问候

【问题讨论】:

  • 如果你想得到一个 int 为什么你要创建一个字符串变量并将数字传递给字符串?

标签: android api count gmail


【解决方案1】:

使用GmailContract.Labels.NUM_UNREAD_CONVERSATIONS.toString();,您只是将枚举转换为字符串。

你需要一个 Cursor 对象来遍历标签,然后用cursor.getInt(GmailContract.Labels.NUM_UNREAD_CONVERSATIONS)获取数字

检查此code 以遍历帐户和标签。

【讨论】:

  • 我用这段代码作为参考,我也在用 cursor.getInt (GmailContract.Labels.NUM_UNREAD_CONVERSATIONS) 但没有成功,总是指示0。权限是正确的。这是我的代码的链接。我不知道我做错了ul.to/u5gplc7n
  • 很好,我搞定了,唯一的问题是CANONICAL_NAME_INBOX 中没有我的未读邮件。如果您设置labelCanonical = GmailContract.Labels.LabelCanonicalNames.CANONICAL_NAME_ALL_MAIL;,您将收到所有未读邮件。使用 logcat 查看您有哪些标签,在 while (cursor.moveToNext()) 循环中打印类似 Log.d("GMAIL", cursor.getString(LabelsQuery.CANONICAL_NAME) + " unread:" + cursor.getInt(LabelsQuery.NUM_UNREAD_CONVERSATIONS)); 的内容。
猜你喜欢
  • 1970-01-01
  • 2014-04-19
  • 2016-07-07
  • 2016-11-30
  • 2016-01-11
  • 2011-10-14
  • 2017-11-13
  • 2011-08-30
  • 2017-11-14
相关资源
最近更新 更多