Tôi gặp sự cố khi tìm giải pháp cho vấn đề của mình. Tôi đang cố gắng thêm nhiều sự kiện vào lịch Android của mình nhưng tôi không biết cách thực hiện. Tôi đã tìm thấy mã này:Chèn nhiều sự kiện vào lịch Android
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"+String.valueOf(i));
startActivity(intent);
nhưng tất cả việc cần làm là gửi cho tôi lịch của mình và cho phép tôi chỉnh sửa và chèn sự kiện của mình theo cách thủ công. Tôi muốn tự động chèn các sự kiện, mà không cần đến ứng dụng lịch của tôi. Hơn nữa, tôi chỉ có thể thêm một sự kiện bằng cách sử dụng mã này. Đây không phải là những gì tôi muốn. Tôi có 2 chuỗi String, một mảng chứa ngày tháng và một chứa tên của sự kiện. Có ai biết nếu có cách nào để làm điều này? Tôi đã tìm kiếm một giải pháp trong một thời gian và không tìm thấy một giải pháp nào. Tôi sẽ biết ơn nếu có ai giúp tôi. Cảm ơn bạn!
Tôi đã giải quyết được vấn đề! Cảm ơn nhiều! Nhưng bây giờ tôi có một vấn đề khác mà tôi không thể giải quyết được. Tôi có mã này:
ContentValues cv = new ContentValues();
cv.put("calendar_id", calIds[0]);
cv.put("title", title);
//cv.put("dtstart", dtstart);
//cv.put("dtend", dtend);
cv.put("rrule", "FREQ=MONTHLY");
cv.put("description", comment);
Calendar start = Calendar.getInstance();
start.set(2012, 0, 2, 8, 0, 0);
Calendar end = Calendar.getInstance();
end.set(2012, 0, 2, 9, 0, 0);
long startTime = start.getTimeInMillis();
long endTime = end.getTimeInMillis();
cv.put("dtstart", startTime);
cv.put("dtend", endTime);
//Insertion on the events of the calendar
cr.insert(Uri.parse("content://com.android.calendar/events"), cv);
Nó chèn sự kiện của tôi nhưng nó không lặp lại. Tôi có nghĩa là sự kiện của tôi xuất hiện vào ngày 2 tháng 2 năm 2012 nhưng vào ngày 2 tháng 1 năm 2013 thì không và cũng không xảy ra trong năm 2014 và v.v. Vì vậy, tôi đã mở lịch của mình trên điện thoại và cố gắng chỉnh sửa sự kiện của mình và tôi thấy rằng tôi nên chọn sự xuất hiện của sự kiện ở đó vào ngày 2 tháng 1 năm 2012 chứ không phải vào ngày 2 tháng 1. điện thoại. Mặt khác, nếu tôi cố gắng thêm một sự kiện theo cách thủ công từ điện thoại của tôi thì nó hoạt động tốt (ý tôi là tôi có thể thêm một sự kiện xảy ra hàng năm).
Trên thực tế cuối cùng họ đã thêm vào một API Lịch chính thức trong ICS: http://developer.android.com/reference/android/provider/CalendarContract.html –
nhờ @mbaird, nó thực sự là một tin tức tốt lành! Tôi không làm việc trên Android trong một thời gian và tôi nên bắt kịp với phiên bản mới nhất. – hago
Tôi đã giải quyết được vấn đề nhưng bây giờ tôi có một vấn đề khác. Nếu bạn có thể giúp tôi thêm một lần nữa, tôi sẽ rất biết ơn ... Tôi đã chỉnh sửa câu hỏi của mình về vấn đề khác. – Lara