воскресенье, 17 апреля 2011 г.

КПВ (картинка для привлечения внимания)

Вот так вот все у меня плохо - занимаясь непонятно чем звонок пропустил, почту не читаю, смс игнорирую, пропустил запланированное событие..

С пропущенной почтой все более-менее просто оказалось: сначала надо получить список ящиков почтовых:

   AccountManager mgr = AccountManager.get(getApplicationContext());
   Account[] accounts = mgr.getAccountsByType("com.google");
   for (Account ac : accounts) {
     ac.type - это тип аккаунта (com.google - почта, там еще твитер может быть и прочие)
     ac.name - почтовый адрес, то что собственно нужно
   }

А потом для каждого ящика узнать, есть/нет непрочитанные в Inbox:

            final Uri gmailUri = Uri.parse("content://gmail-ls/labels/");
            uri = Uri.withAppendedPath(gmailUri, account_name);
            Cursor cursor = getContentResolver().query(
                    uri,
                    new String[]{"canonicalName", "numUnreadConversations"},
                    null, null, null);

            if (cursor != null) {
                cursor.moveToFirst();

                unreadedMail = 0;
                while (cursor.moveToNext()) {
                    String name = cursor.getString(0);
                    if (name.equals("^i")) {
                        return cursor.getInt(1);
                    }
                }
            }
            return -1;

В разрешения надо подобавлять конечно разрешение на доступ к аккаунт-менеджеру и на доступ к gmail

Комментариев нет:

Отправить комментарий