Как получить номер телефона и имя по ContactsContract.Contacts._ID

Нужно получить Имя контакта и его имя из контактной книжки. Выдает ошибку на Cursor i что не правильно делаю Запрос. В манифесте указал

<uses-permission android:name="android.permission.READ_CONTACTS"/>

И вот код соответственно на Java

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode != Activity.RESULT_OK) {
        return;
    }
    if (requestCode == REQUEST_DATE) {
        Date date = (Date) data
                .getSerializableExtra(DatePickerFragment.EXTRA_DATE);
        mCrime.setDate(date);
        updateDate();
    } else if (requestCode == REQUEST_CONTACT && data != null) {
        Uri contactUri = data.getData();

        String[] queryFields = new String[] {
                ContactsContract.Contacts._ID
        };

        Cursor c = getActivity().getContentResolver()
                .query(contactUri, queryFields, null, null, null);

        int suspectIdInt;
        try {
            if (c.getCount() == 0) {
                return;
            }

            c.moveToFirst();
            suspectIdInt = c.getInt(0);
        } finally {
            c.close();
        }

        String[] queryNameAndNumber = new String[] {
                ContactsContract.CommonDataKinds.Phone.NUMBER,
                ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME
        };

        String[] suspectIdStr = new String[] {
                Integer.toString(suspectIdInt)
        };

        //Выдает ошибку на query
        Cursor i = getActivity().getContentResolver()
                .query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                        queryNameAndNumber,
                        ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?",
                        suspectIdStr,
                        null
                        );

        try {
            if (i.getCount() == 0) {
                return;
            }

            i.moveToFirst();
            String suspect = i.getString(0);
            int suspectNumber = i.getInt(0);
            mCrime.setSuspect(suspect);
            mCrime.setNumberSuspect(suspectNumber);
            mSuspectButton.setText(suspect);
        } finally {
            i.close();
        }
    }
}

Ответы (0 шт):