как редактировать календарь событий через приложение для Android - PullRequest
5 голосов
/ 06 апреля 2011

Как я могу редактировать события календаря в календаре с помощью приложения для Android ..

Кто-нибудь знает, как открыть Повестку дня в приложении календаря .....

Ответы [ 2 ]

12 голосов
/ 14 апреля 2011

После прочтения данных из календаря просто попробуйте это.

Добавление события с одним вхождением в календарь

Чтобы добавить запись в определенный календарь, нам нужно настроитьзапись в календаре для вставки с использованием ContentValues ​​следующим образом:

ContentValues event = new ContentValues();

Каждое событие должно быть привязано к определенному календарю, поэтому первое, что вы захотите установить, - это идентификатор календаря длявставьте это событие в:

event.put("calendar_id", calId);

Затем мы устанавливаем некоторую основную информацию о событии, включая строковые поля, такие как заголовок, описание и местоположение события.

event.put("title", "Event Title");
event.put("description", "Event Desc");
event.put("eventLocation", "Event Location");

Естьряд различных опций для настройки времени и даты события.

Мы можем установить информацию о начале и конце события следующим образом:

long startTime = START_TIME_MS;
long endTime = END_TIME_MS;
event.put("dtstart", startTime);
event.put("dtend", endTime);

Если мы добавляем день рождения или праздник, мы установили бы запись как событие на весь день:

event.put("allDay", 1);   // 0 for false, 1 for true

Этой информации достаточно для большинства записей.Однако существует ряд других полезных атрибутов записей календаря.

Например, вы можете установить статус события на предварительное (0), подтвержденное (1) или отмененное (2):

event.put("eventStatus", 1);

Вы можете контролировать, кто может видеть это событие, устанавливая его видимость по умолчанию (0), конфиденциально (1), приватно (2) или общедоступно (3):

event.put("visibility", 0);

Вы можете контролироватьсобытие потребляет время (может иметь конфликты расписания) в календаре, устанавливая его прозрачность непрозрачным (0) или прозрачным (1).

event.put("transparency", 0);

Вы можете контролировать, вызывает ли событие тревогу напоминания, следующим образом:

event.put("hasAlarm", 1); // 0 for false, 1 for true

После правильной настройки события календаря мы готовы использовать ContentResolver для вставки новой записи календаря в соответствующий Uri для событий календаря:

  Uri eventsUri = Uri.parse("content://calendar/events");
  Uri url = getContentResolver().insert(eventsUri, event);

Вызовдля метода insert () связывается с поставщиком содержимого календаря и пытается вставить запись в соответствующий пользовательский календарь.Если вы перейдете к приложению «Календарь» и запустите его, вы должны увидеть свою запись в календаре в соответствующем календаре.Поскольку календарь синхронизируется, вы также увидите запись календаря в Интернете, если вы используете Календарь Google в Интернете.

Добавление повторяющегося события в календарь

Вы также можете настроить повторяющиеся события календаря.Для этого необходимо добавить еще несколько полей к событию в форме правила повторения.Спецификация правила основана на RFC2445 .

1 голос
/ 11 мая 2011

это точный ответ на этот вопрос

    Uri uri = Uri.parse("content://calendar/events");
    long eventId = calendeeventid;
    Uri newuri = ContentUris.withAppendedId(uri, eventId);
    Intent intent = new Intent(Intent.ACTION_VIEW,newuri);
    Cursor cursor = getContentResolver().query(newuri, new String[]{"dtstart","dtend",},null, null, null);
    if(cursor.getCount()>0)
    {   cursor.moveToFirst();
    intent.putExtra("beginTime", cursor.getLong(cursor.getColumnIndex("dtstart")));
    intent.putExtra("endTime",  cursor.getLong(cursor.getColumnIndex("dtend")));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...