2012-09-25 2 views
0

나는 Jelly Bean 이전의 모든 Android 버전에서 잘 작동하는 응용 프로그램을 보유하고 있습니다. 나는 며칠 동안 머리카락을 꺼내왔다. 내 장치에 나타나는 프로그램 방식으로 만드는 이벤트가 웹 캘린더로 전송되는 것을 거부하는 것 같습니다. 일반적으로 동기화가 더 빨라서 (따라서 더 좋음) 나타나지만 깨진 것 같습니까 ??? 동기화 할 수 있도록 이벤트에 설정해야하는 항목이 있습니까? 아니면 동기화되지 않도록 하시겠습니까 ??일부 일정 이벤트는 Jelly Bean에서 동기화되지 않습니다.

내가 장치에서 캘린더를 사용하여 손으로 만든 이벤트 (동기화 등)를 묻습니다. 프로그래밍 방식으로 만든 새 이벤트는 장치에서 ChangeObserver를 트리거하고 장치 일정에 원격으로 나타나지 않습니다. 그래서 이러한 이벤트가 전송되고 따라서 대역폭을 절약 할 수 있도록 커버 아래에 마법이 있어야합니까 ??? 이것은 Jelly Bean에 추가되었다고 생각할 수있는 최적화입니다.

이와 같은 행동을 알고 있다면 알려주십시오. 그렇지 않다면 관련된 모든 맞춤 앱의 Jelly Bean에서 동기화가 제대로 작동하는지 알려주세요. 당신의 도움에 아주 많이 감사드립니다!

다음 단계는이 실패를 입증 할 수있는 작은 테스트 응용 프로그램을 작성하는 것입니다. 그러나 그것이 더 쉽고이 문제에 대해 이미 알고 계실 것을 희망합니다.

답변

0

검색하는 데 오랜 시간이 걸렸습니다. 나는 그것이 다른 누군가를 돕기를 바랍니다. 이벤트를 추가에서 , 내가 이전에 젤리 빈에

ContentValues values = new ContentValues(); 
values.put(Events.DTSTART, startMillis); 
values.put(Events.DTEND, endMillis); 
values.put(Events.TITLE, title); 
values.put(Events.DESCRIPTION, description); 
values.put(Events.EVENT_LOCATION, location); 
values.put(Events.CALENDAR_ID, mCalendarTag.mID); 
values.put(Events.EVENT_TIMEZONE, TimeZone.getDefault().getDisplayName()); 
Uri uri = mContentResolver.insert(Events.CONTENT_URI, values); 

보통

를 호출하고,이 괜찮 았는데. Jelly Bean의 경우 :

values.put(Events.EVENT_TIMEZONE, TimeZone.getDefault().getDisplayName()); 

은 아무런 통보없이 실패합니다! 다음과 같이 변경해야합니다 :

values.put(Events.EVENT_TIMEZONE, TimeZone.getDefault().getID()); 

그러면 모든 것이 올바르게 작동합니다. 진짜 어려움은 getDisplayName()으로 생성 된 이벤트가 로컬로 생성되었지만 결코 원격으로 동기화되지 않는다는 것입니다. 나는 다른 누군가가 이것을보고 며칠 동안 그들을 저장하기를 바랍니다.

관련 문제