java - Android +4.0 中的日历

标签 java android calendar

我想创建日历。这是工作。但如果Android版本+4.0。这不行。 我知道我需要使用内容提供程序,但我不知道如何使用。我希望该日历适用于所有版本的 Android。 我该怎么做?

   private void AddCalendar(int years,int months,int days,int hours,int minutes){
        try{
        // get calendar
        Calendar cal = Calendar.getInstance();     
        Uri EVENTS_URI = Uri.parse("content://com.android.calendar/events");
        ContentResolver cr = getContentResolver();

        Calendar start = Calendar.getInstance();
        start.set(years, months, days, hours, minutes, 0);

        Calendar end = Calendar.getInstance();
        end.set(years, months, days, hours + 1, minutes, 0);

        long startTime = start.getTimeInMillis();       
        long endTime = end.getTimeInMillis();

        // event insert
        ContentValues values = new ContentValues();
        values.put("calendar_id", 1);
        values.put("title", editText1.getText().toString());
        values.put("allDay", 0);
        values.put("dtstart", startTime); 
        values.put("dtend", endTime); 
        values.put("description", editText2.getText().toString());
        values.put("visibility", 0);
        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", 10 );
        cr.insert( REMINDERS_URI, values );

        }catch (Exception e){
            Toast.makeText(getApplicationContext(), 
                    R.string.calendar, Toast.LENGTH_LONG).show();
        }

        }

最佳答案

日历 Api 在 4.0+ 中已更改。您可以使用新的 Calendar Intent api(这是推荐的方法)或修改您的事件以适应新的 api:

values.add("eventTimezone","00"); 删除“可见性”键/值,它不再被接受。

您应该在 ExceptionCatcher 中打印异常,它具有很强的描述性。

关于java - Android +4.0 中的日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12381376/

相关文章:

php mysql 和嵌套循环

java - 100% CPU 利用率需要帮助分析线程转储

java - 反向 HashMap

java - 为 if else block 编写 jUnit 测试用例

android - 设置 View 的左边距... NullPointerException 来了

android - 如何从 DDMS 读取我的数据库

java - 获取 Java 日期或日历的时间组件

java - 字符串到日历对象

java - 无法使用 maven 从 'Drools JBoss Rules 5.0 Developer' s Guide 构建 Drools 示例,无法下载工件

java - 使用 UCanAccess 对同一个表进行后续查询的性能低下