0

按照本教程,我正在尝试获取联系人列表中某人的电话号码。使用此代码,我可以获得电子邮件地址:

if (cursor.moveToFirst()){
    int emailIdx = cursor.getColumnIndex(Email.DATA);  
    String email = cursor.getString(emailIdx);  
    Log.wtf("Email address: ", email); 
}

按照这个推理,我试图得到这样的电话号码:

if (cursor.moveToFirst()){
    int phoneNrIdx = cursor.getColumnIndex(Phone.DATA);
    String phoneNr = cursor.getString(phoneNrIdx);
    Log.wtf("Phone number:", phoneNr);
}

不幸的是,这也会返回电子邮件地址。有谁知道我怎样才能得到这个联系人的电话号码?欢迎所有提示!

4

1 回答 1

1

Email.DATA 和Phone.DATA 都等于相同的字符串,即'data1'。那是光标中保存数据的列的名称,因此您的两个代码片段实际上是相同的。

我了解您查询了 Email.CONTENT_URI,因此光标仅在“data1”列中具有电子邮件地址。

要同时获取电话号码,请关闭光标,然后查询 Phone.CONTENT_URI 以获取包含电话号码的光标。

于 2013-09-27T11:34:15.943 回答