我是android开发的新手

我正在尝试创建一个日历,该日历既可以从我创建的应用程序中访问,也可以从我的android设备的日历应用程序中访问。

首先让我提供设备信息:

Android版本:4.3
API应用程序级别:18
设备:华硕nexus 7

我正在使用下面给出的代码创建日历

ContentValues values = new ContentValues();
    values.put(
    Calendars.ACCOUNT_NAME,  "xyz@gmail.com");
    values.put(
          Calendars.ACCOUNT_TYPE,  CalendarContract.ACCOUNT_TYPE_LOCAL);
    values.put(
            Calendars.NAME,  "Test Calendar");

    values.put(
            Calendars.CALENDAR_DISPLAY_NAME,  "abc calendar");
    values.put(
          Calendars.CALENDAR_COLOR,  Color.YELLOW );
    values.put(
          Calendars.CALENDAR_ACCESS_LEVEL,  Calendars.CAL_ACCESS_OWNER);
    values.put(
            Calendars.OWNER_ACCOUNT,"xyz@gmail.com");
    values.put(
            Calendars.CALENDAR_TIME_ZONE, TimeZone.getDefault().getID());
    values.put(Calendars.VISIBLE, 1);
    Uri.Builder builder =
          CalendarContract.Calendars.CONTENT_URI.buildUpon();
    builder.appendQueryParameter(
          Calendars.ACCOUNT_NAME,"xyz@gmail.com");
    builder.appendQueryParameter(
          Calendars.ACCOUNT_TYPE,  CalendarContract.ACCOUNT_TYPE_LOCAL);
    builder.appendQueryParameter(
          CalendarContract.CALLER_IS_SYNCADAPTER,  "true");
    Uri uri =this.cordova.getActivity().getContentResolver().insert(builder.build(), values);

    try {
        return calendarArray.put(new JSONObject().put("calendarURI", uri));
    } catch (JSONException e) {
        e.printStackTrace();
    }
    return null;


当我在应用程序中运行代码时,将创建日历,但是之后,当我检查设备时,在那里看不到创建的新日历。

我试过像将Calendars.VISIBLE属性设置为值1,并在线搜索解决方案,但一无所获。

该代码已从link复制

请帮我在这里。

最佳答案

这是我的错,日历从我开始创建应用程序开始之初就以相同的名称添加了9次。

10-07 19:30
查看更多