How to get all the events from calendar?

前端 未结 1 921
孤独总比滥情好
孤独总比滥情好 2020-12-16 04:24

Hi I am able to get events using this code

cur = null;
    cr = getContentResolver();


    // Construct the query with the desired date range.
    Uri.Build         


        
相关标签:
1条回答
  • 2020-12-16 05:30

    Try this code...

    public class Utility {
    
        public static ArrayList<String> nameOfEvent = new ArrayList<String>();
        public static ArrayList<String> startDates = new ArrayList<String>();
        public static ArrayList<String> endDates = new ArrayList<String>();
        public static ArrayList<String> descriptions = new ArrayList<String>();
    
        public static ArrayList<String> readCalendarEvent(Context context) {
            Cursor cursor = context.getContentResolver()
                    .query(
                            Uri.parse("content://com.android.calendar/events"),
                            new String[] { "calendar_id", "title", "description",
                                    "dtstart", "dtend", "eventLocation" }, null,
                            null, null);
            cursor.moveToFirst();
            // fetching calendars name
            String CNames[] = new String[cursor.getCount()];
    
            // fetching calendars id
            nameOfEvent.clear();
            startDates.clear();
            endDates.clear();
            descriptions.clear();
            for (int i = 0; i < CNames.length; i++) {
    
                nameOfEvent.add(cursor.getString(1));
                startDates.add(getDate(Long.parseLong(cursor.getString(3))));
                endDates.add(getDate(Long.parseLong(cursor.getString(4))));
                descriptions.add(cursor.getString(2));
                CNames[i] = cursor.getString(1);
                cursor.moveToNext();
    
            }
            return nameOfEvent;
        }
    
        public static String getDate(long milliSeconds) {
            SimpleDateFormat formatter = new SimpleDateFormat(
                    "dd/MM/yyyy hh:mm:ss a");
            Calendar calendar = Calendar.getInstance();
            calendar.setTimeInMillis(milliSeconds);
            return formatter.format(calendar.getTime());
        }
    }
    

    You can also check this

    Getting events from calendar

    0 讨论(0)
提交回复
热议问题