我試圖在地址簿中顯示每個聯繫人以及他們的照片。phonegap/cordova 3.1.0,無法顯示聯繫人照片
爲此,我在模擬器中用隨機圖片創建了一個聯繫人。我設法列出了聯繫人沒有麻煩。第一次接觸含有,如預期,一個URL,照片:
{"id":"1","rawId":"1","displayName":"Test Dude 1","name":{"middleName":"Dude","familyName":"1","formatted":"Test Dude 1","givenName":"Test"},"nickname":null,"phoneNumbers":null,"emails":null,"addresses":null,"ims":null,"organizations":null,"birthday":null,"note":null,"photos":[{"value":"content://com.android.contacts/contacts/1/photo","type":"url","id":"2","pref":false}],"categories":null,"urls":null}
所以,現在我想顯示的圖片。這是我遇到麻煩的地方。在嘗試創建我運行到錯誤的小例子,我添加了URL的img標籤的第一次接觸PIC:
<img id="myimg">
<script type="text/javascript">
setTimeout(function() {
console.log('doing my thing');
var theurl = 'content://com.android.contacts/contacts/1/photo';
var element = document.getElementById('myimg');
element.src = theurl;
console.log('did my thing');
}, 3000);
</script>
我沒有設法得到的圖片顯示。這是日誌說:
I/Web Console(3304): doing my thing at file:///android_asset/www/index.html:42
E/webcoreglue(3304): *** Uncaught exception returned from Java call!
W/System.err(3304): java.io.IOException: read failed: EINVAL (Invalid argument)
W/System.err(3304): at libcore.io.IoBridge.read(IoBridge.java:442)
W/System.err(3304): at java.io.FileInputStream.read(FileInputStream.java:179)
W/System.err(3304): at java.io.InputStream.read(InputStream.java:163)
W/System.err(3304): at dalvik.system.NativeStart.run(Native Method)
W/System.err(3304): Caused by: libcore.io.ErrnoException: read failed: EINVAL (Invalid argument)
W/System.err(3304): at libcore.io.Posix.readBytes(Native Method)
W/System.err(3304): at libcore.io.Posix.read(Posix.java:123)
W/System.err(3304): at libcore.io.BlockGuardOs.read(BlockGuardOs.java:149)
W/System.err(3304): at libcore.io.IoBridge.read(IoBridge.java:432)
W/System.err(3304): ... 3 more
I/Web Console(3304): did my thing at file:///android_asset/www/index.html:54
我使用的科爾多瓦3.1.0和仿真Android設備與平臺4.2.2和API級別17.我相信我有設置相關權限(READ_CONTACTS
,WRITE_CONTACTS
,加上GET_ACCOUNTS
,WRITE_EXTERNAL_STORAGE
, READ_EXTERNAL_STORAGE
萬一他們會幫助)。
我在做什麼錯?我怎樣才能進一步診斷問題?