开发者

In Android, how do you select only PHONE contacts?

I am querying the Contacts out of the built in Contacts provider URI in Android. I want to get just the PHONE contacts; is there any consistent way to do this? It seems from what I can find that the account name for phone contacts differs from manufacturer to manufacturer (se开发者_如何转开发e this question). Is there a way to get PHONE contacts (not SIM, Facebook, Twitter or others) in a consistent, reliable, manufacturer- and device- agnostic way?


            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.
                        }
                }

Where "?" is user ID, you can put this code into a loop.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜