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