Как получить национальные праздники в выбранной стране
Я делаю приложение, которое может выбрать страну из списка. Когда вы выбираете страну, появляется список национальных праздников этой страны.
Я видел CalendarProvider и Google Calendar V3 . Но, похоже, он предоставляет только текущий календарь пользователя.
Как получить национальные праздники, как я хочу? Любое предложение также помогло мне
- Получение событий из календаря
- Календарь возвращает неправильный месяц
- Многостраничная электронная почта с текстом и календарем: Outlook не распознает ics
- .NET. Получите все элементы календаря Outlook.
- NSCalendar первый день недели
Обновить:
Я нашел этот пост, который может получить список праздников с помощью json. В этом примере код страны, определяемый идентификатором календаря (pt_br.brazilian#[email protected])
Но я не вижу, чтобы какие-либо документы писали об этом.
Я также нашел еще один идентификатор календаря (en.usa#[email protected]).
Можно ли использовать этот способ? Если да, где я могу получить идентификатор этого календаря?
- Android Calendar View для Date Picker
- Триггерное уведомление еженедельно Swift 3
- Java Calendar.set (Calendar.DAY_OF_WEEK, Calendar.WUNDAY), будет ли он откатываться назад, вперед или неизвестно?
- Добавить еженедельное событие в календарь
- Добавить событие Calendar для Android из сети .vcs download
- Почему Java Calendar установлен (int year, int month, int date), не возвращает правильную дату?
- Календарь повторяющихся / повторяющихся событий - лучший способ хранения
- Почему январь месяц 0 в Java-календаре?
Проблема решена с помощью Google Calendar API V3 . Идея, которую я нашел из этого поста . Праздник может получить календарь календаря по умолчанию из Google.
Здесь можно найти идентификационный список календаря праздников по умолчанию, который поддерживает 40 стран.
Кусок кода, который обрабатывает разрешение и получает список праздников: –
com.google.api.services.calendar.Calendar client = null; credential = GoogleAccountCredential.usingOAuth2(mContext, CalendarScopes.CALENDAR); credential.setSelectedAccountName(mList.get(0)); client = getCalendarService(credential); do { com.google.api.services.calendar.model.Events events; events = client.events().list("en.usa#[email protected]").setPageToken(pageToken).execute(); onHolidayChecked(events.getItems()); //result return here (events.getItems()) pageToken = events.getNextPageToken(); } while (pageToken != null); private com.google.api.services.calendar.Calendar getCalendarService(GoogleAccountCredential credential) { return new com.google.api.services.calendar.Calendar.Builder(AndroidHttp.newCompatibleTransport(), new GsonFactory(), credential).build(); }
В документации CalendarProvider указано, что она предоставляет только текущую информацию календаря пользователя.
Поставщик календаря – это хранилище событий календаря пользователя. API-интерфейс Календаря позволяет выполнять операции запроса, ввода, обновления и удаления в календарах, событиях, посетителях, напоминаниях и т. Д.
Вам нужно будет обратиться к стороннему API (например, к нему) и загрузить эту информацию в свое приложение.