嵌入式日历事件和提醒 [英] Inset Calender event and reminder

查看:113
本文介绍了嵌入式日历事件和提醒的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想通过我的android应用程序(android studio)在Google日历中添加提醒,但我尝试了所有操作,但未添加到日历中.我还尝试通过 https://developer.android添加内容. com/guide/topics/providers/calendar-provider#events 但仍然没有成功.

I want to add a reminder in google calender's through my android application(android studio) but I have tried everything but it doesn't add in the calendar. I have also tried to add through the https://developer.android.com/guide/topics/providers/calendar-provider#events but still no success.

            Date d1 = new Date(1472570400);//Tue, 30 Aug 2016 15:20:00 GMT
        Calendar cal1 = Calendar.getInstance();
        cal1.setTime(d1);

        Date d2 = new Date(1472574000);//Tue, 30 Aug 2016 16:20:00 GMT
        Calendar cal2 = Calendar.getInstance();
        cal2.setTime(d2);

        Uri EVENTS_URI = Uri.parse("content://com.android.calendar/events");
        ContentResolver cr = getContentResolver();

        // event insert
        ContentValues values = new ContentValues();
        values.put("calendar_id", 1);
        values.put("title", "Reminder Title");
        values.put("allDay", 0);
        values.put(CalendarContract.Events.EVENT_TIMEZONE, TimeZone.getDefault().getID());                

        values.put("dtstart", cal1.getTimeInMillis() ); // event starts at Tue, 30 Aug 2016 15:20:00
        values.put("dtend", cal2.getTimeInMillis()); // ends at Tue, 30 Aug 2016 16:20:00 GMT

        System.out.println("ALARM TIMES START : " + cal1.getTimeInMillis());
        System.out.println("ALARM TIMES END : "+cal2.getTimeInMillis());

        values.put("description", "Reminder description");                
        values.put("hasAlarm", 1);
        Uri event = cr.insert(EVENTS_URI, values);

        // reminder insert                
        Uri REMINDERS_URI = Uri.parse("content://com.android.calendar/reminders");
        values = new ContentValues();
        values.put( "event_id", Long.parseLong(event.getLastPathSegment()));               

        values.put( "method", 1);
        values.put( "minutes", 1); //Notify before the exact time
        cr.insert( REMINDERS_URI, values );

推荐答案

    public void insertCalendarDetail(String cal_id,String cal_date,String title,String desc,String cat_id)//,String cat_name
    {
        Uri event_id=null;
        String[] cal_dates = cal_date.split("-");
        Log.e("cal_dates==>"+cal_id,cal_dates[0]+"/"+cal_dates[1]+"/"+cal_dates[2]);

            java.util.Calendar startTime = java.util.Calendar.getInstance();
            startTime.set(Integer.parseInt(cal_dates[2]),Integer.parseInt(cal_dates[1])-1,Integer.parseInt(cal_dates[0]), 3, 00);
            long startMillis = startTime.getTimeInMillis();
            long endMillis = startTime.getTimeInMillis()+60 * 60 * 1000;;
            final ContentValues event = new ContentValues();
            event.put(CalendarContract.Events.CALENDAR_ID,1);
            event.put(CalendarContract.Events.TITLE,title);
            event.put(CalendarContract.Events.DESCRIPTION, Html.fromHtml(desc)+"");
            event.put(CalendarContract.Events.DTSTART, startMillis);
            event.put(CalendarContract.Events.DTEND, endMillis);
            String timeZone = TimeZone.getDefault().getID();
            event.put(CalendarContract.Events.EVENT_TIMEZONE, timeZone);
            Uri baseUri;
            if (Build.VERSION.SDK_INT >= 8)
            {
                baseUri = Uri.parse("content://com.android.calendar/events");
            }
            else
            {
                baseUri = Uri.parse("content://calendar/events");
            }
            event_id = context.getContentResolver().insert(baseUri, event);
            Log.e("calendar_insert", event_id + "");

    }

这篇关于嵌入式日历事件和提醒的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆