我是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;
当我在应用程序中运行代码时,日历会被创建,但在我检查设备之后,当时没有创建新的日历。
我尝试设置值为1的Calendars.VISIBLE属性,并且还在线搜索解决方案,但什么都没有。
代码已从link
复制请帮帮我。
答案 0 :(得分:1)
这是我的错,日历在我开始创建应用程序之前的同一个名称下添加了9次。