亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何加載聯系人照片?

如何加載聯系人照片?

繁花不似錦 2019-10-25 15:37:31
我在為Android中的聯系人加載照片時遇到問題。我已經用谷歌搜索了一個答案,但到目前為止卻空無一人。有沒有人舉一個查詢聯系人然后加載照片的例子?因此,給定一個contactUri來自活動結果,該結果稱為usingstartActivityForResult(new Intent(Intent.ACTION_PICK,ContactsContract.CommonDataKinds.Phone.CONTENT_URI),PICK_CONTACT_REQUEST) 是:內容://com.android.contacts/data/1557loadContact(..)正常工作。但是,當我調用getPhoto(...)方法時,我得到的照片InputStream為空值。這也令人困惑,因為URI值不同。contactPhotoUri評估為:內容://com.android.contacts/contacts/1557請參閱以下代碼中的內聯注釋。 class ContactAccessor {    /**     * Retrieves the contact information.     */    public ContactInfo loadContact(ContentResolver contentResolver, Uri contactUri) {        //contactUri --> content://com.android.contacts/data/1557        ContactInfo contactInfo = new ContactInfo();        // Load the display name for the specified person        Cursor cursor = contentResolver.query(contactUri,                                            new String[]{Contacts._ID,                                                          Contacts.DISPLAY_NAME,                                                          Phone.NUMBER,                                                         Contacts.PHOTO_ID}, null, null, null);        try {            if (cursor.moveToFirst()) {                contactInfo.setId(cursor.getLong(0));                contactInfo.setDisplayName(cursor.getString(1));                contactInfo.setPhoneNumber(cursor.getString(2));            }        } finally {            cursor.close();        }                return contactInfo;  // <-- returns info for contact    }顯然,我在這里做錯了,但我似乎無法弄清楚問題出在哪里。謝謝。
查看完整描述

3 回答

?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

這對我有用:


public static Bitmap loadContactPhoto(ContentResolver cr, long  id) {

    Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id);

    InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);

    if (input == null) {

        return null;

    }

    return BitmapFactory.decodeStream(input);

}


查看完整回答
反對 回復 2019-10-25
  • 3 回答
  • 0 關注
  • 411 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號