Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在blackberry的PIM联系人列表中显示我的联系人照片?_Blackberry_Contact - Fatal编程技术网

在blackberry的PIM联系人列表中显示我的联系人照片?

在blackberry的PIM联系人列表中显示我的联系人照片?,blackberry,contact,Blackberry,Contact,请任何人让我知道如何使用此代码,我想在屏幕上显示联系人照片。从getPhoto()方法获取null。我搜索了很多,但除了联系人界面上的代码外,什么也没有得到。但这对我不起作用 public class PhotoExample { private Contact _contact; public PhotoExample(Contact contact) throws PIMException { ContactList contactList = (

请任何人让我知道如何使用此代码,我想在屏幕上显示联系人照片。从getPhoto()方法获取null。我搜索了很多,但除了联系人界面上的代码外,什么也没有得到。但这对我不起作用

    public class PhotoExample {

    private Contact _contact;

    public PhotoExample(Contact contact) throws PIMException {
        ContactList contactList = (ContactList) 
            PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE);
        _contact = contactList.createContact();
        /*_contact = contact;*/
    }

    public void setPhoto() throws IOException {
        byte[] photo = getSamplePhoto();
        byte[] photoEncoded = Base64OutputStream.encode(photo, 0, photo.length, false, false);
        if (_contact.countValues(Contact.PHOTO) > 0) {
            _contact.setBinary(Contact.PHOTO, 0, PIMItem.ATTR_NONE, photoEncoded, 0, photo.length);
        } else {
            _contact.addBinary(Contact.PHOTO, PIMItem.ATTR_NONE, photoEncoded, 0, photo.length);
        }
    }

    public byte[] getPhoto() throws IOException {
        if (_contact.countValues(Contact.PHOTO) > 0) {
            byte[] photoEncoded = _contact.getBinary(Contact.PHOTO, 0);
            return Base64InputStream.decode(photoEncoded, 0, photoEncoded.length);
        } else {
            return null;
        }
    }

    private static byte[] getSamplePhoto() {
        return null;
        // return the raw bytes of the photo to use
    }

    /*public static void main(String[] args) throws Throwable {
        PhotoExample example = new PhotoExample();
        example.setPhoto();
        example.getPhoto();
    }*/

}
我使用的代码如下:-

try {
            _photo = new PhotoExample(_contact);
             b = _photo.getPhoto();
        } catch (PIMException e) {
            System.out.println(e+"===>");
            e.printStackTrace();
        } catch (IOException e) {
            System.out.println(e+"===>");
            e.printStackTrace();
        }

经过很长一段时间,我在几次搜索后再次尝试了这项任务,现在我获得了成功,希望与大家分享,因为这段代码可能对很多人都有用

BlackBerryContactList contactList = (BlackBerryContactList)BlackBerryPIM.getInstance().openPIMList(BlackBerryPIM.CONTACT_LIST, BlackBerryPIM.READ_WRITE);
            Enumeration contactListItems = contactList.items();
            while (contactListItems.hasMoreElements()) {
                BlackBerryContact contact = (BlackBerryContact)contactListItems.nextElement();
                byte[] imageBytesBase64 = contact.getBinary(BlackBerryContact.PHOTO, 0);
                byte[] imageBytes = null;
                try {
                    imageBytes = Base64InputStream.decode(imageBytesBase64, 0, imageBytesBase64.length);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                EncodedImage encodedImage = EncodedImage.createEncodedImage(imageBytes, 0, imageBytes.length);
                Bitmap bitmap = encodedImage.getBitmap();
                bitmaps.addElement(bitmap);
                BitmapField fd= new BitmapField(bitmap, Field.FIELD_HCENTER);
                add(fd);