我在Android中的内置联系人提供程序URI中查询联系人。我想获得PHONE联系人;有没有一致的方法来做到这一点?从我可以发现,电话联系人的帐户名称似乎因制造商而异(请参阅this question)。有没有办法以一致,可靠,制造商和设备无关的方式获得PHONE联系人(不是SIM,Facebook,Twitter或其他人)?
答案 0 :(得分:-1)
Cursor cursor = null;
try {
String selection = ContactsContract.Data._ID + " = ?";
String[] selectionArgs = new String[] { id };
String[] projection = new String[] { ContactsContract.PhoneLookup.NUMBER};
cursor = getContentResolver().query(
ContactsContract.Contacts.CONTENT_URI,
projection, selection, selectionArgs, null);
if (cursor == null || !cursor.moveToFirst())
return;
String phone = cursor.getString(0);
} finally {
if (cursor != null && !cursor.isClosed())
try {
cursor.close();
} catch (Throwable ignore) {
// Ignored.
}
}
哪里“?”是用户ID,您可以将此代码放入循环中。