我使用以下代码使用联系人ID获取android中的联系人详细信息。但是,该代码仅适用于Android设备版本2.3.5而不是2.3.3或以上版本3.以下是我的代码,其中contactId是该特定联系人的ID。执行没有进入if (phone.moveToFirst()) {}
部分查询中是否存在问题?如果是这样,为什么它在2.3.5版本上运行良好?任何帮助将不胜感激。谢谢
public String queryAllPhoneNumbersForContact(int contactId)
{
String[] projection = new String[] { Phone.NUMBER, Phone.TYPE };
@SuppressWarnings("deprecation")
Cursor phone = managedQuery(Phone.CONTENT_URI,
projection,
Data.CONTACT_ID + "=?",
new String[] { String.valueOf(contactId) }, null);
if (phone.moveToFirst())
{
int contactNumberColumnIndex = phone.getColumnIndex(Phone.NUMBER);
int contactTypeColumnIndex = phone.getColumnIndex(Phone.TYPE);
while (!phone.isAfterLast())
{
String number = phone.getString(contactNumberColumnIndex).trim();
int type = phone.getInt(contactTypeColumnIndex);
System.out.println("number" + number);
System.out.println("Type" + getString(Phone.getTypeLabelResource(type)));
phone.moveToNext();
if ((getString(Phone.getTypeLabelResource(type)).equals("Mobile")))
{
Log.e("WorkNo. : ", number);
return number;
}
}
}
phone.close();
return null;
}
答案 0 :(得分:0)
哪些设备完全不起作用?我建议您使用适用于主要版本和设备的2.2版本