来自Phonegap的联系人图像未显示

时间:2014-07-28 09:16:10

标签: javascript android jquery cordova

我看过几篇与此相关的帖子,如Ref,但不适合我。我尝试过如下

第一种方法:

从联系人图像值

直接设置图像源
var myImg = document.getElementById("cimg");
myImg.src = contacts[i].photos[0].value; 

这个没有在img标签中显示图像。

第二种方法:

将联系人图像值传递给fileDownload选项

window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, function(fs){
                        fs.root.getFile("temp.jpg", {create: true, exclusive: false},
                          function(entry){
                            //alert(entry.toURL());
                            var fileTransfer = new FileTransfer();
                            fileTransfer.download(
                                    contacts[i].photos[0].value, // the filesystem uri you mentioned
                                    entry.fullPath,
                                    function(entry) {
                                        // do what you want with the entry here
                                        console.log("download complete: " + entry.fullPath);
                                        var src = entry.fullPath; 
                                        //$("").append('<img src="'+src+'" >');
                                    },
                                    function(error) {
                                        alert("error source " + error.source);
                                        console.log("error target " + error.target);
                                        console.log("error code " + error.code);
                                        console.log(error);
                                    },
                                    false,
                                    null
                            );
                        }, function(e){
                            console.log("file create error",e);
                        });
                    }, null);

这个显示的错误如07-28 07:37:56.468: E/FileTransfer(20986): {"target":"file:\/\/\/mnt\/sdcard\/Android\/data\/io.cordova.hellocordova\/cache\/temp.jpg","http_status":0,"code":3,"source":"content:\/\/com.android.contacts\/contacts\/2\/photo","exception":"read failed: EINVAL (Invalid argument)"} 07-28 07:37:56.468: E/FileTransfer(20986): java.io.IOException: read failed: EINVAL (Invalid argument)

编辑:

我的手机短片联系[i] .photo [0] .value 返回&#34; content://com.android.contacts/contacts/1/photo"

如何解决这个问题。请帮帮我。

1 个答案:

答案 0 :(得分:0)

请检查您正在测试的Android版本。因为Android 2.0有很多变化结构 - &gt; 2.2 ..你可以尝试4.0以上的Android吗?