回答
manifest
<uses-permission android:name="android.permission.READ_CALENDAR" />
這些實施例是用於< = 2.1版本;
第一;找出哪些日曆存在
Cursor cursor = cr.query(Uri.parse("content://calendar/calendars"), new String[]{ "_id", "displayname" }, null, null, null);
cursor.moveToFirst();
String[] CalNames = new String[cursor.getCount()];
int[] CalIds = new int[cursor.getCount()];
for (int i = 0; i < CalNames.length; i++) {
CalIds[i] = cursor.getInt(0);
CalNames[i] = cursor.getString(1);
cursor.moveToNext();
}
cursor.close();
抓取的所有事件,以及特定事件是通過指定範圍
ContentResolver contentResolver = getContentResolver()
完成的;
Uri.Builder builder = Uri.parse(getCalendarUriBase() + "/instances/when").buildUpon();
long now = new Date().getTime();
ContentUris.appendId(builder, now - DateUtils.MILLIS_PER_DAY*10000);
ContentUris.appendId(builder, now + DateUtils.MILLIS_PER_DAY * 10000);
,然後讓我們說你想從ID日曆日誌事件ID = 1
Cursor eventCursor = contentResolver.query(builder.build(),
new String[] { "event_id"}, "Calendars._id=" + 1,
null, "startDay ASC, startMinute ASC");
// For a full list of available columns see http://tinyurl.com/yfbg76w
while (eventCursor.moveToNext()) {
String uid2 = eventCursor.getString(0);
Log.v("eventID : ", uid2);
}
和一些源代碼檢查 Jim Blackler's Accessing the internal calendar database inside Google Android applications和Android Calendar Events
謝謝謝里夫,讓我看看執行情況,我會盡快回復您。 – user788511
謝里夫,你提供的文章解釋了一個事件的選擇,但是,如何根據搜索參數找到一個事件? – user788511
我編輯了答案。順便說一句,這很容易 –
它是2.2 +版本
我用下面的代碼在日曆中添加事件
if (Build.VERSION.SDK_INT >= 14) {
Calendar cal = Calendar.getInstance();
Intent intent = new Intent(Intent.ACTION_INSERT)
.setData(Events.CONTENT_URI)
/*
* .putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME,
* beginTime.getTimeInMillis())
* .putExtra(CalendarContract.EXTRA_EVENT_END_TIME,
* endTime.getTimeInMillis())
*/
.putExtra(Events.TITLE,
"A Test Event from android app by Neha ")
.
putExtra("beginTime", cal.getTimeInMillis())
.putExtra("allDay", true)
.putExtra("rrule", "FREQ=YEARLY")
.putExtra("endTime",
cal.getTimeInMillis() + 60 * 60 * 1000)
.putExtra(Events.AVAILABILITY, Events.AVAILABILITY_BUSY);
startActivity(intent);
}
else {
Calendar cal = Calendar.getInstance();
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra("beginTime", cal.getTimeInMillis());
intent.putExtra("allDay", true);
intent.putExtra("rrule", "FREQ=YEARLY");
intent.putExtra("endTime",
cal.getTimeInMillis() + 60 * 60 * 1000);
intent.putExtra("title",
"A Test Event from android app by Neha");
startActivity(intent);
}
和下面我的代碼用於編輯事件
long calendarEventID = GetMaxID();
Uri uri = Uri.parse("content://com.android.calendar/events/"
+ String.valueOf(calendarEventID));
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(uri);
intent.putExtra("beginTime", startDate);
intent.putExtra("endTime", endDate);
startActivity(intent);
和GetMaxId作爲
公共長GetMaxID(){
ContentResolver contentResolver = getContentResolver();
Uri local_uri;
local_uri = Uri.parse("content://com.android.calendar/events");
Cursor cursor = contentResolver.query(local_uri, new String[] {
"_id as max_id", "dtstart", "dtend" }, null, null, "_id");
cursor.moveToFirst();
long max_val = cursor.getLong(cursor.getColumnIndex("max_id"));
startDate = cursor.getLong(cursor.getColumnIndex("dtstart"));
endDate = cursor.getLong(cursor.getColumnIndex("dtend"));
return max_val + 1;
}
,並把允許在menifest如
<uses-permission android:name="android.permission.WRITE_CALENDAR"></uses-permission>
<uses-permission android:name="android.permission.READ_CALENDAR"></uses-permission>
希望這對別人也有幫助。
- 1. 選擇日曆事件查詢
- 2. 日曆事件和android中
- 3. c#和日曆:如何選擇一天(提高SelectedDaysChanged事件)
- 4. Android日曆事件
- 5. Android:事件日曆
- 6. 使用Kal日曆選擇事件
- 7. 選擇日曆以添加iOS事件
- 8. Android中的事件日曆
- 9. 使用calendarItemWithIdentifier來查找日曆事件
- 10. PHP日期選擇器控制和事件日曆需要
- 11. 如何查詢特定日期範圍的android日曆事件?
- 12. Android日曆選擇年
- 13. 如何啓用從iPhone日曆查看日期選擇器中選擇日期?
- 14. Angular-Ui-日曆:基於下拉選擇在日曆中過濾事件
- 15. 如何在日曆控件中自動選擇當前日期?
- 16. 如何選擇使用android 4.0日曆提供程序api從哪個日曆中提取事件?
- 17. 如何在日曆中添加事件
- 18. 如何在日曆中添加事件?
- 19. 在日曆控件中選擇時間
- 20. Firemonkey Android訪問日曆和事件
- 21. 擺脫「參加?」在Android日曆事件中,使用日曆API
- 22. 如何使用Google日曆API在Android中獲取Google日曆事件?
- 23. 使用Google日曆在Fullcalendar中選擇事件
- 24. 如何選擇從日曆中選擇多個日期
- 25. 日曆事件UI的Android
- 26. 更新Android日曆事件
- 27. Android創建日曆事件
- 28. Android - 插入日曆事件
- 29. 如何在android中將事件添加到Google日曆中?
- 30. 在AppleScript的指定日曆中查找事件
是什麼意思找到並選擇 – kannappan
我不明白你的問題,但我可以試着詳細說明。 find事件基本上用於根據搜索參數(如開始日期,結束日期或描述)查找事件,而select事件是基本選擇查詢。 – user788511