使用Intent创建事件ID后获取事件ID

时间:2019-03-29 18:11:56

标签: android android-intent calendar

(首先,对不起,如果听起来听起来很愚蠢,但我对android完全不满意)

我正在开发一个管理器应用程序,该应用程序要使用意图创建日历事件,然后我必须将事件ID保存在我的应用程序中,以便我可以再次打开它以对其进行编辑,以便我的应用程序可以读取事件的开始日期。

我正在使用的代码来自于这个问题:  How can I find out the result of my calendar intent? 意向有效,但我无法让其余的工作正常。此外,“ EventUtility”和“ mContext”也会显示为错误。

p.s。我还会收到有关缺少权限的警告,但我不知道在何处添加该权限

protected void kalender() {
    long event_id = EventUtility.getNewEventId(mContext.getContentResolver());
    Intent newEvent = new Intent(Intent.ACTION_INSERT)
            .setData(CalendarContract.Events.CONTENT_URI)
            .putExtra(CalendarContract.Events.TITLE, "Abgabe Termin")
            .putExtra(CalendarContract.Events.AVAILABILITY, CalendarContract.Events.AVAILABILITY_BUSY)
            .putExtra(CalendarContract.Events.HAS_ALARM, true)
            .putExtra("allDay", true);
    startActivity(newEvent);

}


public static long getNewEventId(ContentResolver cr) {
    Cursor cursor = cr.query(CalendarContract.Events.CONTENT_URI, new String[]{"MAX(_id) as max_id"}, null, null, "_id");
    cursor.moveToFirst();
    long max_val = cursor.getLong(cursor.getColumnIndex("max_id"));
    return max_val + 1;
}

0 个答案:

没有答案