Почему приложение останавливается, когда я использую "Long.parseLong(uri.getLastPathSegment());"
Это работает:
void strt(){
Calendar beginTime = Calendar.getInstance();
beginTime.set(2018, 2, 14, 7, 30);
Calendar endTime = Calendar.getInstance();
endTime.set(2018, 2, 15, 8, 30);
Intent intent = new Intent(Intent.ACTION_INSERT)
.setData(CalendarContract.Events.CONTENT_URI)
.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, beginTime.getTimeInMillis())
.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endTime.getTimeInMillis())
.putExtra(CalendarContract.Events.TITLE, "Yoga")
.putExtra(CalendarContract.Events.DESCRIPTION, "Group class")
.putExtra(CalendarContract.Events.EVENT_LOCATION, "The gym")
.putExtra(CalendarContract.Events.AVAILABILITY, CalendarContract.Events.AVAILABILITY_BUSY)
.putExtra(Intent.EXTRA_EMAIL, "rowan@example.com,trevor@example.com");
Uri uri = CalendarContract.Events.CONTENT_URI;
//`long eventID = Long.parseLong(uri.getLastPathSegment());`
но когда я добавлю эту строку
long eventID = Long.parseLong(uri.getLastPathSegment());
приложение останавливается PS я пытаюсь получить eventID для напоминания
1 ответ
Проблема в том, что "uri" оканчивается на "String" (как сказал CommonsWare). К "uri" не добавляется идентификатор. Возможно, это можно добавить с помощью этого метода:
Uri uri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
где eventID=
long eventID = 188;