2012-01-07 27 views
6

(UPDATE) này hoạt động trên giả lập nhưng không phải trên HTC huyền thoại của tôi :(contentprovider Android không trở Phone.NUMBER

tôi có phương pháp sau đây trong ListActivity của tôi và nó không được trả lại bất kỳ giá trị trong Cursor (getCount = 0)

tôi có thể không hoàn toàn làm việc ra sao. Nó không quan trọng mà tiếp xúc tôi nhấp vào trong Danh sách của tôi.

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

API là gì cấp thiết bị của bạn? – Gnufabio

+1

cố gắng không sử dụng id. Tôi có nghĩa là cố gắng để có được tất cả các mục. Có thể vấn đề là bạn đang sử dụng sai id – kingston

+1

Bạn có chắc là bạn không sử dụng id của một bảng khác, ví dụ bảng raw_contact thay vì od bảng Data? – kingston

Trả lời

0

Thêm Read_contacts phép trong manifest.

Các vấn đề liên quan