このメソッドを使用して、カレンダーにイベントを追加します。
private void writeToCalendar() {
Intent l_intent = new Intent(Intent.ACTION_EDIT);
l_intent.setType("vnd.android.cursor.item/event");
l_intent.putExtra(Events.TITLE, "title");
l_intent.putExtra(Events.DESCRIPTION, ""); // description
l_intent.putExtra(Events.EVENT_LOCATION, ""); //eventLocation
l_intent.putExtra(Events.DTSTART, System.currentTimeMillis()); // beginTime
l_intent.putExtra(Events.DTEND, System.currentTimeMillis() + EVENT_LENGTH); // endTime
l_intent.putExtra(Events.ALL_DAY, 0); // allDay
l_intent.putExtra(Events.STATUS, Events.STATUS_CONFIRMED); // eventStatus
l_intent.putExtra("visibility", 0); // visibility
l_intent.putExtra("transparency", 1);
l_intent.putExtra(Events.HAS_ALARM, 0); // hasAlarms
l_intent.putExtra(Events.ALLOWED_REMINDERS, ""); //allowedReminders
try {
startActivity(l_intent);
} catch (Exception e) {
Toast.makeText(this.getApplicationContext(), getResources().getText(R.string.calendar_error), Toast.LENGTH_LONG).show();
}
}
残念ながら、追加するユーザーに提案されたイベントは、10 分に設定されたアラーム (リマインダー) を自動的に取得します (少なくともこれは私の電話で発生します)。ご覧のとおり、許可されたリマインダーを "" に設定し、"hasAlarms" フラグを 0 に設定しようとしました。それでも、イベントを追加すると、リマインダーを 10 分に設定するようにユーザーに自動的に提案されます。ユーザーはイベントを保存する前にリマインダーを削除できますが、これは私が望んでいるものではありません。私のアプリケーションではリマインダーが本当に意味をなさないとすぐに、デフォルトでリマインダーを逃したいと思います。誰かがこれを回避する方法を説明できますか?
ありがとうございました。