在Android中,您如何仅选择PHONE联系人?

时间:2011-07-05 15:38:09

标签: android android-contacts

我在Android中的内置联系人提供程序URI中查询联系人。我想获得PHONE联系人;有没有一致的方法来做到这一点?从我可以发现,电话联系人的帐户名称似乎因制造商而异(请参阅this question)。有没有办法以一致,可靠,制造商和设备无关的方式获得PHONE联系人(不是SIM,Facebook,Twitter或其他人)?

1 个答案:

答案 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,您可以将此代码放入循环中。