2012-06-19 2 views
3

나는 많은 연구를 수행했으며 Android 캘린더 이벤트에 대한 진정한 고유 ID에 액세스하는 방법을 찾을 수 없습니다. 나는 URI 다음 쿼리 :Android 캘린더 이벤트에 대한 고유 ID 가져 오기

Context.getContentResolver().query(Events.CONTENT_URI, null, null, null, null); 

내 갤럭시 넥서스에 대한 결과 Cursor를 통해보고, 내가 찾고 오전 iCalGUID 형태와 유사한 아무것도 (아래 참조)이 없습니다. 그러나 HTC One S에서 동일한 쿼리를 수행 할 때 HTC에 iCalGUID이 추가 열 필드로 포함되어있어 정확히 찾고있는 ID 유형을 반환합니다.

9ced5c2c-6ed9-481f-9f69-9a064810ac0f 

그것은이 iCalGUID 필드처럼 보이지 않는, 비록 안드로이드 SDK 표준입니다, 그래서 다른 안드로이드 폰에이 ID를 얻을 수 없습니다 : 그것은 다음과 같습니다. 내 질문은 표준 안드로이드 방식으로 이런 유형의 ID를 얻을 수있는 방법이 있습니까? 현재 ICS를 대상으로하고 있지만 향후이 버전을 이전 버전으로 확장하는 데 유연성을 발휘하고 싶습니다.

내가 사용해야하는 다른 유형의 ID가 있으면 좋을 것입니다. 참고 : 나는 이 아니며Events._ID 열을 찾고 있습니다. ID가 모든 기기에서 고유해야하며 모든 유형의 Account (Google, Exchange, Hotmail 등)이 필요합니다.

고맙습니다!

+0

안녕하세요, 답변을 찾았습니까? – Patrick

답변

2

필드 UID_2445은이 용도로 사용되었지만 불행히도 거의 채워지지 않았습니다. never with an actual UID.

동기화 프로그램은 다양한 동기화 필드에 액세스 할 수 있습니다. 테스트 중에는 항상 이벤트 원본 ID가 저장됩니다. 문제는 특정 동기화기에 따라 필드가 채워지는 것이므로 표준이 없습니다. 해당 필드를 보려면 동기화 기 읽기 권한이 필요합니다.

지원되지 않으며 권장하지 않지만 계정 유형 (예 : com.android.exchange)을 살펴본 후 동기화 프로그램을 확인한 다음 일반적으로 UID로 채워진 입력란을 확인합니다. 내 테스트에서는 Sync Data 1 인 Google 이외의 모든 것에 대해 Sync Data 2를 사용합니다.

관련 문제