【发布时间】: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 条未读消息
非常感谢任何帮助
感谢和问候
【问题讨论】: