में संपर्क डेटा छवि प्रदर्शित करने में असमर्थ मैं में android
के लिए निम्नलिखित कोड का उपयोग कर संपर्क डेटा का अवतार प्राप्त करने का प्रयास कर रहा हूं, लेकिन मुझे बदले में यूआरएल निम्नलिखित मिल रहा है और मुझे नहीं पता कि मुझे कैसे करना चाहिए इसे img
टैग में दिखाएं।फोनगैप
कोड
var defaultImagePath ='../resources/images/default_usr.png'
var img = contacts[i].photos != null ?
contacts[i].photos[0].value : defaultImagePath;
लौटे यूआरएल
सामग्री है: एक सूची मैं हूँ में जब अंततः अब
//com.android.contacts/contacts/739/photo
<img src="content://com.android.contacts/contacts/739/photo"/>
का उपयोग करके इसे दिखाने का प्रयास कर रहा है
लेकिन यह कुछ भी प्रदर्शित नहीं कर रहा है? तो मैं संपर्क छवि कैसे दिखाऊंगा?
मैं नवीनतम PhoneGap
संस्करण है
मैं
का इस्तेमाल किया हैwindow.resolveLocalFileSystemURI (संपर्कों [i] .photos [0] .Value, this.onResolveSuccess, this.fail);
लेकिन रन टाइम त्रुटि निम्नलिखित मैं हो रही है
JNI ERROR (app bug): attempt to use stale local reference in phonegap
भले ही मैं एंड्रॉयड
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
अद्यतन में अनुमतियों को निम्न निर्दिष्ट किया है
loadContacts:function(){
var arr = [];
var filter = ["displayName", "name", "phoneNumbers","emails","addresses","photos"];
var options = new ContactFindOptions();
options.filter="";
options.multiple=true;
navigator.contacts.find(filter,
function(contacts) {
for (var i = 0; i < contacts.length; i++) {
if (contacts[i].photos) {
for (var j = 0; j < contacts[i].photos.length; j++) {
returnValidPhoto(contacts[i].photos[j], function(answer) {
console.log(answer);
if(contacts[i].photos[j]!=null);
contacts[i].photos[j].value=answer;
});
var contactData = new ContactData("Name" ,
"09090909",
contacts[i].photos[j].value);
arr.push(contactData);
}
}
}
Ext.getStore('ContactStore').setData(arr);
// document.getElementById("contactdata").innerHTML = data;
}, function(err) {
alert(err);
},options);
}
यहाँ
छवि फ़ंक्शन
function returnValidPhoto(url,callback){
console.log("IMAGE CALLED");
var img = new Image();
img.onload = function() {
//Image is ok
console.log("IMAGE OK");
callback(url.value);
};
img.onerror = function(err) {
//Returning a default image for users without photo
console.log("IMAGE FAILED");
url.value = "/resources/images/default_usr.png";
callback("/resources/images/default_usr.png");
}
img.src = url.value;
};
आप इस समाधान हो गया? मैं एक ही समस्या, संपर्क imge नहीं दिखा रहा है है ... –