0
私は彼女のIDから連絡先の番号を見つけることができます。次のスニペットは、画面に数字を表示します。しかし連絡先のID番号から
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
CONTACT_PROJECTION,ContactsContract.CommonDataKinds.Phone._ID +" = 4627",
null, null);
phones.moveToNext();
String phoneNumber = phones.getString(
phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Toast.makeText(getBaseContext(), phoneNumber, Toast.LENGTH_LONG).show();
、私は彼女の電話番号からの彼女のIDを見つけるためにしようとした場合、
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
CONTACT_PROJECTION,ContactsContract.CommonDataKinds.Phone._ID +" = 4627",
null, null);
phones.moveToNext();
String phoneNumber = phones.getString(
phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
//Now I got a valid phone number
//using that number to find the id
Cursor ids = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
CONTACT_PROJECTION,ContactsContract.CommonDataKinds.Phone.NUMBER +" = "+ phoneNumber,
null, null);
ids.moveToNext();
String id = ids.getString(
ids.getColumnIndex(ContactsContract.CommonDataKinds.Phone._ID));
Toast.makeText(getBaseContext(), id, Toast.LENGTH_LONG).show();
私は次のエラーを取得します。次のように
android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
Iが使用投影である:
private static final String[] CONTACT_PROJECTION = new String[] {
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Phone._ID
};
第二のカーソルは、私はコンタクトにおけるそのようなエントリがある知っている場合でも、空です。私は間違って何をしていますか?
電話番号を照会するためのコンテンツフィルタURIがあります。 –
あなたはそれを言う:ContactsContract.CommonDataKinds.Phone.NUMBER!= ContactsContract.PhoneLookup.NUMBER(これは私が知らないものです) – 0x5f3759df