2012-01-07 13 views
6

(UPDATE) Esto funciona en emulador pero no en mi leyenda HTC :(ContentProvider Android no volver Phone.NUMBER

Tengo el siguiente método en mi ListActivity y no está regresando cualquier valor en el cursor (getCount = 0)

no puedo bastante entender por qué. no importa lo que hago clic en contacto en mi lista.

protected void onListItemClick(ListView l, View v, int position, long id) { 
    // TODO Auto-generated method stub 
    super.onListItemClick(l, v, position, id); 
    Log.d(TAG,"onListItemClick"); 

    //get Telephone number for entry and display in Toast 
    Uri phoneUri = ContentUris.withAppendedId(Phone.CONTENT_URI, id); 
    Log.d(TAG,String.valueOf(phoneUri)); 
    String[] projection = new String[]{Phone.NUMBER}; 


    //Get Cursor 
    Cursor phoneCursor = managedQuery(phoneUri, projection, null, null, null); 

    while(phoneCursor.moveToNext()){ 
     String dspNumber; 
     String number = phoneCursor.getString(phoneCursor.getColumnIndexOrThrow(Phone.NUMBER)); 
     if(number==""){ 
      dspNumber = "No number found"; 
     }else{ 
      dspNumber = number; 
     } 

     Toast.makeText(this,dspNumber, 3000).show(); 
    } 
} 
+0

Qué es la API nivel de su dispositivo? – Gnufabio

+1

intenta no usar la identificación. Me refiero a tratar de obtener todas las entradas. Tal vez el problema es que está usando una identificación incorrecta – kingston

+1

¿Está seguro de que no está utilizando la identificación de otra tabla, por ejemplo, la tabla raw_contact en lugar de la tabla de datos? – kingston

Respuesta

0

Añadir Read_contacts permiso en el manifiesto.

Cuestiones relacionadas