내 문제는 기본 Android 연락처 응용 프로그램에서 내 응용 프로그램의 연락처 (내 응용 프로그램 계정 유형으로 지정된 연락처)를 장치에서 삭제하려고 시도하는 것입니다.Android 기본 연락처 응용 프로그램이 모든 계정 연락처를 삭제합니다.
내 자신을 SyncAdapter
으로 지정 했으므로 Service
이며 syncadapter.xml
에 설명 된 메타 데이터입니다. supportsUploading
의 값은 거짓로 설정됩니다 (이런 식으로 내 응용 프로그램에서 만든 연락처가 읽기 전용 말)
, 나는이 메시지가 표준 연락처 앱에서 내 응용 프로그램의 연락처를 삭제하려고 할 때 이는 말한다 : 당신은 읽기 전용 계정에서 연락처를 삭제할 수 없습니다,하지만 난 상대의 데이터를 가져 오기 위해 시도 할 때까지
모든 것이 잘 보인다 연락처 목록에 에게 숨길 수
하는 이전에 삭제했습니다. 내 자신의 응용 프로그램에서 표준 "연락처"에서 d ("숨기기").
이 연락처의
RAW_CONTACT_ID
에 연결된Data
테이블에 행이 없기 때문에 반환 된 커서가 null입니다. 연락처가 장치에 있는지 확인합니다.DELETED
플래그 값이RawContacts
이고 테이블이 1로 설정되어 있으면 연락처가 삭제되었음을 알 수 있습니다.으로 공식 문서는 설명
일부 동기화 어댑터 읽기 전용, 즉 그들 만 동기화 서버 측 전화 변경 있지만 반대로 그. 해당 연락처 중 하나 인 원시 연락처에 삭제 표시가되어 있으면 휴대 전화에 남아 있습니다. 집합체 연락처의 일부가 아니기 때문에 실제로 보이지 않습니다.
문제는 연락처 데이터베이스에서 검색하는 방법을 모르기 때문에 응용 프로그램에이 연락처의 데이터를 더 이상 표시 할 수 없다는 것입니다. 누군가이 상황을 어떻게 처리해야하는지 알고 있다면 조언을 해주시면 감사하겠습니다. 감사합니다
나는 이것이 사실이어야한다는 것에 놀랐습니다. 나는 그것이 [developer.android.com에 대한 설명] (https://developer.android.com/reference/android/provider/ContactsContract.RawContacts.Entity.html)과 충돌하고 있다고 혼란스러워합니다. – cocoa