2

我是安卓开发新手

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

让我先给出我的设备信息:

Android 版本:4.3
API 应用级别:18
设备:Asus 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。并且还在线搜索了解决方案,但一无所获。

代码已从链接复制

请帮帮我。

4

1 回答 1

1

这是我的错,在我开始创建应用程序的那一刻开始之前,日历以相同的名称添加了 9 次。

于 2013-10-20T20:23:36.983 回答