События для праздников и календарей дней рождения, по-видимому, не могут быть изменены. В общем, как узнать, доступны ли события календаря только для чтения? Я предполагаю, что я могу посмотреть на столбец CALENDAR_ACCESS_LEVEL. Кто-нибудь знает наверняка и какое значение (-ы) проверить?для Calendars.CONTENT_URI, как определить, доступен ли календарь только для чтения?
ответ
Да, вам необходимо проверить значение CALENDAR_ACCESS_LEVEL
.
Вы должны получить все календарь со следующим уровнем доступа:
CAL_ACCESS_OWNER
Полный доступ к календарю
CAL_ACCESS_EDITOR
Полный доступ, чтобы изменить календарь, но не контроль доступа Установки
CAL_ACCESS_CONTRIBUTOR
Полный доступ, чтобы изменить календарь, но не параметры управления доступа
CAL_ACCESS_ROOT
администратор домена
Это пример, который возвращает все записываемые календари:
String selection = "(" + CalendarContract.Calendars.CALENDAR_ACCESS_LEVEL + " = ? OR "
+ CalendarContract.Calendars.CALENDAR_ACCESS_LEVEL + " = ? OR "
+ CalendarContract.Calendars.CALENDAR_ACCESS_LEVEL + " = ? OR "
+ CalendarContract.Calendars.CALENDAR_ACCESS_LEVEL + " = ?)";
String[] selectionArgs = new String[]{
Integer.toString(CalendarContract.Calendars.CAL_ACCESS_OWNER),
Integer.toString(CalendarContract.Calendars.CAL_ACCESS_EDITOR),
Integer.toString(CalendarContract.Calendars.CAL_ACCESS_CONTRIBUTOR),
Integer.toString(CalendarContract.Calendars.CAL_ACCESS_ROOT)};
Cursor cursor = getContentResolver().query(CalendarContract.Calendars.CONTENT_URI, null, selection, selectionArgs, null);
Я буду считать следующее правильным ответом, если кто-то не поправит меня.
Via
Cursor calCursor = context.getContentResolver().query(
Calendars.CONTENT_URI,
projection, // whatever cols you want
(Calendars.VISIBLE + " = 1 and " +
Calendars.CALENDAR_ACCESS_LEVEL + " >= " + Calendars.CAL_ACCESS_CONTRIBUTOR),
null,
Calendars._ID + " ASC");
Я получаю список, который не включает в себя праздники или дни рождения календари. Итак, я предполагаю, что любой календарь в списке, который я получаю, можно записать и, таким образом, мое приложение может легко делать праздники и дни рождения только для чтения. Пока это предположение работает для меня.
- 1. DatePicker как календарь только для чтения
- 2. Определить ключ, когда буфер доступен только для чтения
- 3. Pygame screen доступен только для чтения
- 4. socket.recvfrom_into() TypeError: буфер доступен только для чтения
- 5. Интерфейс администратора Marklogic доступен только для чтения
- 6. Java: unmark файл доступен только для чтения
- 7. кабелепровод: доступен только для чтения источник?
- 8. Java - LDAP: Атрибут доступен только для чтения
- 9. SQL Server XML доступен только для чтения?
- 10. Результат запроса Mongoose доступен только для чтения?
- 11. JQuery доступен только для чтения странного поведение
- 12. Почему файл доступен только для чтения?
- 13. Почему мой IList доступен только для чтения?
- 14. Отсортированный динамический список доступен только для чтения?
- 15. TypeError: «stack» доступен только для чтения
- 16. Действительно ли режим Sharepoint доступен только для чтения?
- 17. Сделать файл доступен для чтения только для программы
- 18. C1TrueDBGrid/Как программно определить, является ли ячейка только для чтения
- 19. Можно ли определить, является ли строка «только для чтения»?
- 20. Почему результат np.where доступен только для чтения для многомерных массивов?
- 21. Eclipse доступен только для чтения после прикрепления для отладки
- 22. Возможность записывать события в календарь только для чтения через API
- 23. Определить, является ли файл * доступен для записи
- 24. Определить, доступен ли Outlook для автоматизации
- 25. Как отобразить подсказку, когда InputText доступен только для чтения?
- 26. Как определить, доступен ли документ?
- 27. gData API - Ошибка «Этот канал доступен только для чтения» при добавлении в Календарь Google
- 28. Как проверить, доступен ли файл Windows для чтения/записи?
- 29. Как проверить, доступен ли файл blobstore для чтения
- 30. Определить, является ли атрибут класса дескриптором данных только для чтения
Из любопытства , как вы узнали об этом? Я довольно широко искал документацию, но ничего не нашел. –
Также вы можете более подробно объяснить, что означает каждый из уровней доступа? У двух есть одно и то же описание. По-видимому, есть и другие уровни доступа, которые вы не показываете. Было бы полезно узнать, что они означают. Все, что я знаю, это краткие строки, которые вы воспроизвели в своей желтой области. Нет описания того, что они означают. –
Документацию обо всех уровнях доступа к календарю можно найти здесь (http://developer.android.com/reference/android/provider/CalendarContract.CalendarColumns.html). Как вы видите, есть еще 5 уровней, которые не могут изменить календарь ('CAL_ACCESS_FREEBUSY',' CAL_ACCESS_NONE', 'CAL_ACCESS_OVERRIDE',' CAL_ACCESS_READ', 'CAL_ACCESS_RESPOND'). Каждый уровень доступа в желтой области также можно щелкнуть и открыть документацию, из которой было указано описание. К сожалению, нет более подробной информации о значении одного уровня. –