我是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次。