1. 程式人生 > >Android中根據電話號碼取聯絡人姓名

Android中根據電話號碼取聯絡人姓名

    public static String getDisplayNameByNumber(Context context, String number) {
        String displayName = null;
        Cursor cursor = null;

        try {
            ContentResolver resolver = context.getContentResolver();
            Uri uri = PhoneLookup.CONTENT_FILTER_URI.buildUpon().appendPath(number).build();
            String[] projection = new String[] { COLUMN_ID, COLUMN_DISPLAY_NAME };
            cursor = resolver.query(uri, projection, null, null, null);

            if (cursor != null && cursor.moveToFirst()) {
                int columnIndexName = cursor.getColumnIndex(COLUMN_DISPLAY_NAME);
                displayName = cursor.getString(columnIndexName);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }

        return displayName;
    }