How to add calendar events in Android?

前端 未结 10 1218
太阳男子
太阳男子 2020-11-22 13:31

I\'m just getting up to speed on Android, and today in a project meeting someone said that Android has no native calendar app so users just use whatever calendar app they li

10条回答
  •  名媛妹妹
    2020-11-22 14:19

    Use this API in your code.. It will help u to insert event, event with reminder and event with meeting can be enabled... This api works for platform 2.1 and above Those who uses less then 2.1 instead of content://com.android.calendar/events use content://calendar/events

     public static long pushAppointmentsToCalender(Activity curActivity, String title, String addInfo, String place, int status, long startDate, boolean needReminder, boolean needMailService) {
        /***************** Event: note(without alert) *******************/
    
        String eventUriString = "content://com.android.calendar/events";
        ContentValues eventValues = new ContentValues();
    
        eventValues.put("calendar_id", 1); // id, We need to choose from
                                            // our mobile for primary
                                            // its 1
        eventValues.put("title", title);
        eventValues.put("description", addInfo);
        eventValues.put("eventLocation", place);
    
        long endDate = startDate + 1000 * 60 * 60; // For next 1hr
    
        eventValues.put("dtstart", startDate);
        eventValues.put("dtend", endDate);
    
        // values.put("allDay", 1); //If it is bithday alarm or such
        // kind (which should remind me for whole day) 0 for false, 1
        // for true
        eventValues.put("eventStatus", status); // This information is
        // sufficient for most
        // entries tentative (0),
        // confirmed (1) or canceled
        // (2):
        eventValues.put("eventTimezone", "UTC/GMT +2:00");
       /*Comment below visibility and transparency  column to avoid java.lang.IllegalArgumentException column visibility is invalid error */
    
        /*eventValues.put("visibility", 3); // visibility to default (0),
                                            // confidential (1), private
                                            // (2), or public (3):
        eventValues.put("transparency", 0); // You can control whether
                                            // an event consumes time
                                            // opaque (0) or transparent
                                            // (1).
          */
        eventValues.put("hasAlarm", 1); // 0 for false, 1 for true
    
        Uri eventUri = curActivity.getApplicationContext().getContentResolver().insert(Uri.parse(eventUriString), eventValues);
        long eventID = Long.parseLong(eventUri.getLastPathSegment());
    
        if (needReminder) {
            /***************** Event: Reminder(with alert) Adding reminder to event *******************/
    
            String reminderUriString = "content://com.android.calendar/reminders";
    
            ContentValues reminderValues = new ContentValues();
    
            reminderValues.put("event_id", eventID);
            reminderValues.put("minutes", 5); // Default value of the
                                                // system. Minutes is a
                                                // integer
            reminderValues.put("method", 1); // Alert Methods: Default(0),
                                                // Alert(1), Email(2),
                                                // SMS(3)
    
            Uri reminderUri = curActivity.getApplicationContext().getContentResolver().insert(Uri.parse(reminderUriString), reminderValues);
        }
    
        /***************** Event: Meeting(without alert) Adding Attendies to the meeting *******************/
    
        if (needMailService) {
            String attendeuesesUriString = "content://com.android.calendar/attendees";
    
            /********
             * To add multiple attendees need to insert ContentValues multiple
             * times
             ***********/
            ContentValues attendeesValues = new ContentValues();
    
            attendeesValues.put("event_id", eventID);
            attendeesValues.put("attendeeName", "xxxxx"); // Attendees name
            attendeesValues.put("attendeeEmail", "yyyy@gmail.com");// Attendee
                                                                                // E
                                                                                // mail
                                                                                // id
            attendeesValues.put("attendeeRelationship", 0); // Relationship_Attendee(1),
                                                            // Relationship_None(0),
                                                            // Organizer(2),
                                                            // Performer(3),
                                                            // Speaker(4)
            attendeesValues.put("attendeeType", 0); // None(0), Optional(1),
                                                    // Required(2), Resource(3)
            attendeesValues.put("attendeeStatus", 0); // NOne(0), Accepted(1),
                                                        // Decline(2),
                                                        // Invited(3),
                                                        // Tentative(4)
    
            Uri attendeuesesUri = curActivity.getApplicationContext().getContentResolver().insert(Uri.parse(attendeuesesUriString), attendeesValues);
        }
    
        return eventID;
    
    }
    

提交回复
热议问题