2012-04-06 7 views
0

Ich habe diesen einfachen Demo-Code auf Content-Provider ausprobiert, aber ich bekomme eine readExceptionFromParcel Ausnahme.AndroidRuntime (883): at android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:179)

Uri lookupUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_FILTER_URI, editText.getText().toString()); 
    Cursor idCursor = getContentResolver().query(lookupUri, null, null, null, null); 

    startManagingCursor(idCursor);   

    String wherestmt = ContactsContract.Data.CONTACT_ID + " = " + idCursor + " And " + ContactsContract.Data.MIMETYPE + " = '" + ContactsContract.CommonDataKinds.Phone.CONTENT_URI + "'";   
    Cursor datacursor = getContentResolver().query(ContactsContract.Data.CONTENT_URI,null,wherestmt,null,null); 

    int nameIdx = datacursor.getColumnIndexOrThrow(ContactsContract.Data.DISPLAY_NAME); 
    int phoneIdx = datacursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER); 

    datacursor.moveToFirst(); 

    list = new ArrayList<String>(); 

    do{ 

     String name = datacursor.getString(nameIdx); 
     String phone = datacursor.getString(phoneIdx); 
     list.add(name + " " + phone);   

    }while(datacursor.moveToNext()); 

    ListAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,list); 
    listView.setAdapter(adapter); 

Bitte helfen Sie mir bei der Lösung dieser Ausnahme.

+0

Hilfe zu diesem Thema? – user182944

Antwort

0

Sie können attach the source code zu Ihrem Projekt und sehen Sie die ContentproviderNative.java Sie können die Ausnahme sehen, dass durch von DatabaseUtils.readExceptionFromParcel (Antwort) Zeile oder verwenden Sie logcat.in meisten Fällen ist es wegen der Erlaubnis. fügen Sie der App Lesezugriffsberechtigungen hinzu?