Вот так вот все у меня плохо - занимаясь непонятно чем звонок пропустил, почту не читаю, смс игнорирую, пропустил запланированное событие..
С пропущенной почтой все более-менее просто оказалось: сначала надо получить список ящиков почтовых:
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
Комментариев нет:
Отправить комментарий