Android内容提供者未返回Phone.NUMBER

Ste*_*hen 6 java android

(更新)这适用于模拟器,但不适用于我的HTC图例:(

我的ListActivity中有以下方法,并且它没有返回Cursor中的任何值(getCount = 0)

我无法理解为什么.我在列表中点击哪个联系人并不重要.

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();
   }
 }
Run Code Online (Sandbox Code Playgroud)

iCu*_*ous 0

在清单中添加Read_contacts权限。