这个问题没有得到解答,因为他们弃用了Contacts.People
类型,我找到的所有答案仍然涉及它的使用。如何在不使用People.NAME
和People.NUMBER
的情况下完成?
换句话说,我已经知道你可以用以下方式启动联系人列表:
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, 1);
...然后你必须创建一个名为onActivityResult的方法,它必须如下所示:
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
switch (reqCode) {
case (1):
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = this.getContentResolver()
.query(contactData,
null,
null,
null,
null);
if (c.moveToFirst()) {
int contact_id = c.getInt(c
.getColumnIndexOrThrow(ContactsContract.?????????));
}
}
break;
}
}
...那么,我期望在Cursor c
找到哪些未弃用的列名?我找不到有关此问题的任何更新文档,Google仅返回已弃用的People.NAME
和People.NUMBER
列的示例。
ContactsContract
类是拜占庭式的......的东西,其中我找不到任何与People.NAME
或People.NUMBER
有关的内容,所以回答说“只是阅读ContactsContract
的文档”是完全没有用的。
在将它标记为[重复]之后编辑它可能没什么意义,因为没有人会读它。
最糟糕的是,由于我无法发表评论,我不能要求澄清这个问题的其他版本。我不得不问一个新问题。
答案 0 :(得分:0)