2014-11-20 2 views
2

использованием Nexus 5 с Android 5:андроид леденец - календарь событий расположение недостающих

Я устанавливаю событие календаря с темой, время, сигнал тревоги, информация, а также местонахождение (город, улица и номер улицы) , когда я установить событие и открыть его в приложении календаря, я могу видеть местоположение, которое я установил, и я могу открыть его с помощью карт Google.

через несколько минут (Sync?), Когда я открываю событие, все данные есть, кроме местоположения.

на других устройствах (уровни ниже API) событие синхронизированное и место сохраняется ...

это мой код для толкания события в календарь:

public static long pushAppointmentsToCalender(Activity curActivity, String title, String addInfo, String place, int status, long startDate, int length, int reminderMinutesBefore) { 
    String eventUriString = getCalendarEventsUri(); 
    ContentValues eventValues = new ContentValues(); 

    eventValues.put("calendar_id", 1); // id We need to choose from our mobile for primary==>its 1 
    eventValues.put("title", title); 
    eventValues.put("description", addInfo); 
    eventValues.put("eventLocation", place); 
    long endDate = startDate + length; 
    eventValues.put("dtstart", startDate); 
    eventValues.put("dtend", endDate); 
    eventValues.put("eventStatus", status); // This information is   
    eventValues.put("hasAlarm", 1); // 0 for false, 1 for true 
    eventValues.put("eventTimezone", TimeZone.getDefault().getID()); 
    Uri eventUri = curActivity.getApplicationContext().getContentResolver().insert(Uri.parse(eventUriString), eventValues); 
    long eventID = Long.parseLong(eventUri.getLastPathSegment()); 
    if (reminderMinutesBefore != -1) {//Event: Reminder(with alert) Adding reminder to event 
     String reminderUriString = "content://com.android.calendar/reminders"; 
     ContentValues reminderValues = new ContentValues(); 

     reminderValues.put("event_id", eventID); 
     reminderValues.put("minutes", reminderMinutesBefore); // Default value of the    
     reminderValues.put("method", 1); // Alert Methods: Default(0), Alert(1), Email(2), SMS(3) 

     Uri reminderUri = curActivity.getApplicationContext().getContentResolver().insert(Uri.parse(reminderUriString), reminderValues); 
    } 
    Logger.log("pushAppointmentsToCalender==>Event Created with eventId:" + eventID); 
    return eventID; 

} 
+0

Где вы получили эти «магические струны» для eventValue? В документации API используются константы для этого (http://developer.android.com/guide/topics/providers/calendar-provider.html#add-event). – brummfondel

+0

прямо здесь, в All-Mighty StackOverflow .... Я попытаюсь изменить на константы .... –

+0

изменил весь метод на использование Константы (Мой плохой) , но все же: через несколько секунд, когда устройство синхронизирует событие календаря с серверами Google, оно удалило местоположение –

ответ

Смежные вопросы