2013-08-16 5 views
1

Я хочу получить int с количеством непрочитанных писем в учетных записях устройства. Я видел, что есть новый способ сделать это с помощью «Gmail Этикетки Public API»Получить непрочитанные разговоры gmail

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

Я прочитал документацию и загрузить образец приложения, и это действительно работает. Но у меня есть две проблемы: (

Мое намерение состоит в том, чтобы получить Int с количеством непрочитанных разговоров, я стараюсь это:

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

, но не работает, всегда возвращает "numUnreadConversations"

Как может получить значение int до этого значения?

Моя вторая проблема заключается в следующем: код работает правильно со значением по умолчанию моего устройства, но я хочу получить значение со всеми непрочитанными цепочками всех учетных записей gmail устройства

eally признателен за любую помощь

спасибо и касается

+0

Если вы пытаетесь получить int, почему вы создаете строковую переменную и передаете число tostring? – TheHamstring

ответ

1

С GmailContract.Labels.NUM_UNREAD_CONVERSATIONS.toString(); вы просто преобразование перечисления в строку.

Вам нужен объект Cursor для перебора меток, а затем получить номер с cursor.getInt(GmailContract.Labels.NUM_UNREAD_CONVERSATIONS)

Проверьте это code для переборе счетов и этикеток.

+0

Я использую этот код в качестве ссылки, я также использую cursor.getInt (GmailContract.Labels.NUM_UNREAD_CONVERSATIONS), но без успеха всегда указывает 0. Разрешения верны. Это ссылка на мой код. Я не знаю, что я делаю неправильно http://ul.to/u5gplc7n – Sergio76

+0

Приятно, я получил его работу, единственная проблема заключалась в том, что для меня нет сообщения «CANONICAL_NAME_INBOX». Если вы установите 'labelCanonical = GmailContract.Labels.LabelCanonicalNames.CANONICAL_NAME_ALL_MAIL;' вы получите все непрочитанные письма. Используйте logcat, чтобы узнать, какие метки у вас есть, напечатайте что-то вроде «Log.d» («GMAIL», cursor.getString (LabelsQuery.CANONICAL_NAME) + «непрочитанный» + курсор.getInt (LabelsQuery.NUM_UNREAD_CONVERSATIONS)); 'in' while (cursor.moveToNext()) 'loop. – headsvk

+0

это работает! Спасибо :) – Sergio76

Смежные вопросы