插入日历事件和提醒

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (73)

我想通过我的android应用程序(android studio)在谷歌calender的添加提醒,但我已经尝试了一切,但它不会在日历中添加。我也尝试通过https://developer.android.com/guide/topics/providers/calendar-provider#events添加, 但仍然没有成功。

            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 + "");

    }

热门问答

求问keil5项目无法下载到开发板该怎么解决?

Supowang

腾讯 · 高级工程师 (已认证)

腾讯物联网操作系统TencentOS tiny产品接口人---岁寒知松柏,做最好的自己!
推荐
请检查st-link的驱动和stlink硬件,如果不行,尝试换其他stlink下载器试试,谢谢! 如果还没有解决,请加TencentOS tiny官方QQ群提问,谢谢! qq.png ... 展开详请

两台腾讯云的服务器在同一个地区,内网网段也相同,都是172.17.0.X,为啥ping内网地址不通?

HappyLau谈云计算

腾讯云 · 云计算高级工程师 (已认证)

专注于公有云,私有云解决方案,在kubernetes,openstack,kvm,ceph,linux,shell有丰富的实战经验。
推荐已采纳

首先看下两台机器是否在同个vpc内,在同个vpc内默认网络可以互通,如果不在同个vpc内需要通过对等连接或者云联网打通,如果在同个vpc下无法互通,请检查下安全组和os的防火墙规则,放行icmp连接。

COS AndroidSDK类型说明哪里有?

rickenwang

腾讯 · 客户端开发工程师 (已认证)

推荐
GetServiceResult 这个类在 'com.tencent.qcloud:cosxml:5.4.29' 包中,简化版 'cosxml-lite:5.4.29' 没有包含GetServiceResult; 另外你说的 CosXmlService 、QCloudCreden...... 展开详请

腾讯服务器怎么回事?怎么突然就无法连接了?

HappyLau谈云计算

腾讯云 · 云计算高级工程师 (已认证)

专注于公有云,私有云解决方案,在kubernetes,openstack,kvm,ceph,linux,shell有丰富的实战经验。
推荐
无法登录的原因有很多,可以按照如下步骤检查: 1. 通过vnc登录,检查系统是否启动 2. 检查操作系统的防火墙iptables或windows防火墙 3. 检查安全组是否放行了登录端口和icmp 按照上述步骤排查,大部分问题都可以解决。... 展开详请

只用云存储不用CDN加速,访问云存储上的内容使用的是云服务器上的流量么?这种访问收流量费么?

Lew

腾讯云对象存储 · 工程师 (已认证)

推荐

GME Demo 用Unity 打包Internal 包 闪退?

腾讯音视频小蔡

深圳市腾讯科技 · 软件开发工程师 (已认证)

QQ:471381568
推荐

你好,发生此情况的原因大概率是没有打包GME v8a架构所导致。请检查一下打包出来的apk是否有Android v8a 的相关so文件。

所属标签

扫码关注云+社区

领取腾讯云代金券