Как получать события с помощью календаря устройства во флаттере - PullRequest
1 голос
/ 10 июля 2020

В настоящее время я разрабатываю приложение для флаттера и хочу отображать события из календаря устройства пользователя. Я импортировал API device_calendar из pub.dev. Вот код, который у меня есть на данный момент.

import 'dart:collection';

import 'package:device_calendar/device_calendar.dart';

List<Calendar> calendars;
List<UnmodifiableListView<Event>> calEventsList;

DeviceCalendarPlugin _deviceCalendarPlugin = new DeviceCalendarPlugin();

getUsersCalendar() async{
  try{
    var permissionGranted = await _deviceCalendarPlugin.hasPermissions();
    if(permissionGranted.isSuccess && !permissionGranted.data){

    permissionGranted = await _deviceCalendarPlugin.requestPermissions();

    if(!permissionGranted.isSuccess || !permissionGranted.data){
     return;
   }
  }

 final startDate = DateTime.now().add(Duration(days: -1));
 final endDate = DateTime.now().add(Duration(days: 1));

 final calResult = await _deviceCalendarPlugin.retrieveCalendars();
 calendars = calResult?.data;
 for(int i = 0; i < calendars.length; i++){
  final calEvents = await _deviceCalendarPlugin.retrieveEvents(calendars[i].id, RetrieveEventsParams(startDate: startDate, endDate: endDate));
  calEventsList.add(calEvents.data);
}}
catch(e){
print(e);
}}

После того, как я импортирую это в основной файл и выполняю консольную печать, на выходе я получаю null. Любая помощь могла бы быть полезна. Заранее благодарю

1 Ответ

0 голосов
/ 04 сентября 2020

Один проверенный рабочий календарь - это пример кода:

https://github.com/builttoroam/device_calendar/blob/master/device_calendar/example/lib/presentation/pages/calendars.dart

Я интегрировал его с копированием и вставкой как приложение в приложении для MVP. Насколько я помню, я также добавил несколько разрешений на использование, и это просто сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...