Wie man Android-Kontakt-Miniatur

Ich habe eine listview - adapter, und ich werde versuchen, die folgenden in der newView Methode:

@Override
    public View newView(Context context, Cursor cursor, ViewGroup parent) {

        final LayoutInflater inflater = LayoutInflater.from(context);
        View v = inflater.inflate(layout, parent, false);

        long contactId = Long.valueOf(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID))); 
        String contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 
        boolean hasPhone = Boolean.parseBoolean(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))); 
        String thumbnailUri = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.PHOTO_THUMBNAIL_URI)); 

        TextView name_text = (TextView) v.findViewById(R.id.name_entry);
        if (name_text != null) {
            name_text.setText(contactName);
        }

        name_text.setTag(new Contact(contactId, hasPhone));

        ImageView thumbnail = (ImageView) v.findViewById(R.id.thumbnail);
        if (thumbnailUri != null) {
            thumbnail.setImageURI(Uri.parse(thumbnailUri));
        } else {
            thumbnail.setImageResource(R.drawable.ic_launcher);
        }

        return v;
    }

Aber wenn ich versuche zum Parsen der Uri, der gespeichert ist im thumbnailUri, erhalte ich die folgende Fehlermeldung:

   08-09 01:58:38.619: I/System.out(1471): resolveUri failed on bad bitmap uri: content://com.android.contacts/contacts/1/photo

Werde ich über dieses der falsche Weg ist? Jede Hilfe wäre sehr geschätzt werden!

  • Kannst du mal ein logcat drin, um zu sehen, was die URI, die Sie versuchen zu beheben ist und es hier posten? Log.ich("URI", thumbnailUri);
  • Inhalt://com.android.Kontakte/contacts/1/ - Foto, das ich glaube, ist richtig. Vielleicht ist es auch einfach, denn ich bin mit einem emulator. Ich brauche, um ein echtes Gerät :/
  • Habe gerade mir einen richtigen Gerät. Das funktioniert, mein code ist in Ordnung.
Schreibe einen Kommentar