且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

我们如何在日历中添加提醒

更新时间:2022-11-27 16:48:06

我已经解决了我的问题,它在我的应用程序中非常有效...

I got solution of my question, it works perfectly in my app...

  public class PushReminder {
Activity activity;
int sYear,sMonth,sDay,eYear,eMonth,eDay;

public PushReminder() {
    // TODO Auto-generated constructor stub
}

public PushReminder(String Start_date, String end_date,Activity ac) {
    // TODO Auto-generated constructor stub
    activity=ac;




   addReminder(Start_date,end_date);

}   



private void addReminder(String start, String end) {
    // TODO Auto-generated method stub
    int shour=17;
    int smin =30;
    int ehour=18;
    int emin =30;
    ContentResolver cr=activity.getContentResolver();

    Calendar beginTime=Calendar.getInstance();
    String[] sDat=start.split("-");
    String[] eDat=end.split("-");
     sDay=Integer.parseInt(sDat[0]);
    sMonth=Integer.parseInt(sDat[1]);
    sYear=Integer.parseInt(sDat[2]);

     eDay=Integer.parseInt(eDat[0]);
        eMonth=Integer.parseInt(eDat[1]);
        eYear=Integer.parseInt(eDat[2]);

    Log.i("msg","StartDay="+sDay+"StartMonth="+sMonth+"startYear"+sYear+"and sale end      date"+eDay+"Month"+eMonth+"Year="+eYear);    
    beginTime.set(sYear, sMonth-1, sDay,shour,smin);

    long startTime=beginTime.getTimeInMillis();
    Calendar endTime=Calendar.getInstance();

    endTime.set(eYear,eMonth-1,eDay,ehour,emin);
    long end1=endTime.getTimeInMillis();
     ContentValues calEvent = new ContentValues();
        calEvent.put(CalendarContract.Events.CALENDAR_ID, 1); // XXX pick)
        calEvent.put(CalendarContract.Events.TITLE, "Add Shop Reminder");
        calEvent.put(CalendarContract.Events.DTSTART, startTime);
        calEvent.put(CalendarContract.Events.DTEND, end1);
        calEvent.put(CalendarContract.Events.HAS_ALARM, 1);
        calEvent.put(CalendarContract.Events.EVENT_TIMEZONE, CalendarContract.Calendars.CALENDAR_TIME_ZONE);
        Uri uri =cr.insert(CalendarContract.Events.CONTENT_URI, calEvent);

        // The returned Uri contains the content-retriever URI for 
        // the newly-inserted event, including its id
        int id = Integer.parseInt(uri.getLastPathSegment());
        Toast.makeText(activity, "Created Calendar Event " + id,
            Toast.LENGTH_SHORT).show();

       // String reminderUriString = "content://com.android.calendar/reminders";

        ContentValues reminders = new ContentValues();
        reminders.put(Reminders.EVENT_ID,id);
        reminders.put(Reminders.METHOD, Reminders.METHOD_ALERT);
        reminders.put(Reminders.MINUTES, 10);

        Uri uri2 = cr.insert(Reminders.CONTENT_URI, reminders);



        Toast.makeText(activity, "Reminder have been saved succes fully", Toast.LENGTH_SHORT).show();
    }          // Toast.makeText(activity, "Reminder have been saved succes fully", Toast.LENGTH_SHORT).show();
    }