Ich führe eine Abfrage gegen CommonDataKinds.Phone.CONTENT_URI
durch und bekomme alle Ergebnisse, die eine NOT NULL Telefon-ID haben.
so ziemlich der Code ist:
%Vor%und dann wiederhole ich jedes Cursor-Ergebnis und bekomme die gewünschten Spalten. Der Code ist:
%Vor%Was ich nicht verstehe ist, warum sich Phone.CONTACT_ID von der entsprechenden Contacts._ID aus derselben Zeile unterscheidet ...
Sollen nicht beide gleich sein? Es gibt viele Beispiele, die genau diese Spalten verwenden, um Abfragen auszuführen. Zum Beispiel hier und hier , wenn Sie die Schlüsselzeiger überprüfen.
ContactsContract.Contacts._ID
gibt eine eindeutige ID für eine Zeile zurück
ContactsContract.Contacts._ID
gibt eine eindeutige ID für eine Zeile zurück.
Nun hängt die Ausgabe davon ab, für welches cursor
Sie ContactsContract.Contacts._ID
abfragen.
Wenn Sie ContactsContract.Contacts._ID
von ContactsContract.Contacts.CONTENT_URI
abfragen, erhalten Sie ContactsContract.Contacts._ID
und ContactsContract.CommonDataKinds.Phone.CONTACT_ID
selbe.
Aber wenn Sie ContactsContract.Contacts._ID
von ContactsContract.CommonDataKinds.Phone.CONTENT_URI
abfragen, erhalten Sie ContactsContract.Contacts._ID
und ContactsContract.CommonDataKinds.Phone.CONTACT_ID
anders als auf jedem Telefoneintrag ContactsContract.Contacts._ID
wird inkrementiert.
Wenn Sie also die gleiche _ID und Phone._ID haben wollen, dann fragen Sie von ContactsContract.Contacts.CONTENT_URI
anstelle von ContactsContract.CommonDataKinds.Phone.CONTENT_URI
Tags und Links android android-contacts