注意:必须适用于Android 1.5 - ContactsContract不能
简单的问题。我需要知道获取用户按下“联系人”按钮时显示的同一联系人列表的最佳方式。
你会认为这样的事情会起作用:
//For Contacts
Intent pickIntent = new Intent(Intent.ACTION_PICK, People.CONTENT_URI);
this.startActivityForResult(pickIntent, RESULT);
//For Phones
Intent pickIntent = new Intent(Intent.ACTION_PICK, Phones.CONTENT_URI);
this.startActivityForResult(pickIntent, RESULT);
问题是不包括辅助Google帐户或Exchange联系人。通过辅助帐户,在Android中,您可以添加其他Gmail帐户以使邮件/联系人同步。上述意图不会列出那些额外的联系人。
我还被告知,在HTC Desire上,您可以添加未与Google同步的手机联系人。这些联系人也没有出现。
那么我如何获得一个真实的联系人列表,这样我就可以创建自己的列表活动,该活动可以在Google意图没有的情况下正常工作。
注意:必须适用于Android 1.5 - ContactsContract不能
答案 0 :(得分:3)
答案 1 :(得分:3)
有关在Android上访问联系人的详细说明,请参阅here。它还可以帮助您创建使用ContactsContract
的应用程序(如果可能),但仍适用于较旧的Android版本。
答案 2 :(得分:0)
请参阅下面的问题,How to read contacts on Android 2.0
从Android 2.0中折旧People类,您必须使用ContactsContract类。
答案 3 :(得分:-1)
Cursor cursor=getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
while ( cursor.moveToNext() ) {
String name=cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
}