Android 2.1 Cómo obtener números de teléfono de contactos

Soy nuevo en Android y he estado trabajando en una aplicación que necesita obtener todos los números de teléfono de contacto del usuario. Aparentemente, el código que tengo no funciona con el SDK 2.1. Hasta ahora, aquí está el código que estoy usando:

String[] projection = new String[] { Phone.NUMBER };
Cursor c = managedQuery( Phone.CONTENT_URI, projection, null, null, null );
int colIndex = -1;
try {
    colIndex = c.getColumnIndexOrThrow( Phone.NUMBER );
} catch( Exception e ) {
    print( e.getMessage() ); 
}

print( "Column Index = " + colIndex ); 

//count is equal to 3
for( int i = 0; i < count; i++ ){
    try {
        print( c.getString( 2 ) ); //the 2 used to be colIndex
    } catch ( Exception e ) {
        print( e.getMessage() ); 
    }
}

Parece que no importa lo que pase en c.getString () sigue diciéndome que pasé en -1. Pero incluso codifiqué el 2, y dice lo mismo. Cualquier ayuda sería muy apreciada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta