0
私は、エミュレータ(API 19)とchecked contactsテーブルからcontacts2.dbを取り出しました。 contacts table私はcontacts2.dbをチェックしましたが、連絡先テーブルにはdisplay_nameカラムがありません
display_nameの列はありません。次のコードを実行した後しかし
、
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, REQUEST_CONTACT);
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != Activity.RESULT_OK) {
return;
}
if (requestCode == REQUEST_DATE) {
...
} else if (requestCode == REQUEST_CONTACT && data != null) {
Uri contactUri = data.getData();
// Perform your query - the contactUri is like a "where" clause here
Cursor c = getActivity().getContentResolver().query(contactUri
, null
, null
, null
, null);
//cursor null check
try {
// Double-check that you actually got results
if (c.getCount() == 0) {
return;
}
c.moveToFirst();
String[] names = c.getColumnNames();
} finally {
c.close();
}
}
}
私は名前をチェックすると、列のリストは、それはDISPLAY_NAME列が含ま
sort_key
photo_uri
send_to_voicemail
contact_status
contact_status_label
pinned
display_name
phonebook_label_alt
phonebook_bucket
contact_status_res_package
photo_id
in_default_directory
custom_ringtone
_id
times_contacted
phonebook_label
lookup
display_name_alt
phonetic_name
last_time_contacted
contact_last_updated_timestamp
has_phone_number
in_visible_group
is_user_profile
display_name_source
photo_file_id
contact_status_ts
phonebook_bucket_alt
sort_key_alt
contact_presence
starred
photo_thumb_uri
contact_status_icon
contact_chat_capability
phonetic_name_style
name_raw_contact_id
です。どのように可能ですか?
私はContactsContractを知っています...アップロードした画像をチェックしましたか?最初の行で "連絡先テーブル"をクリックすると、それを見ることができます。私はcontacts2.dbを読むためにSQLiteツールを使い、ツールは私に列リストを示しました。 –
'display_name'にマッピングできる列がないとしますか? –
はい。次のサイトの「列」表の連絡先表の列が表示されます。https://developer.android.com/reference/android/provider/ContactsContract.Contacts.html display_nameはありません! –