2013-02-12 10 views
9

क्या केवल उन संपर्कों को दिखाने का कोई तरीका है जिनके पास फ़ोन नंबर है?फोनगैप - केवल फोन नंबरों के साथ संपर्क दिखाएं

अभी मैं सभी संपर्क प्राप्त कर रहा हूं और फिर प्रत्येक के माध्यम से लूपिंग कर रहा हूं और अपना फोन नंबर ढूंढ रहा हूं, लेकिन मैं सोच रहा था कि contactFindOptions ऑब्जेक्ट पर पैरामीटर पास करने का कोई तरीका है ताकि यह केवल उन संपर्कों को उठा सके जिनके पास फ़ोन नंबर है ?

var options = new ContactFindOptions(); 
options.filter=""; //Can i pass something here to pick only contacts with phone number 
options.multiple=true; 
var fields = ["displayName", "phoneNumbers"]; 
navigator.contacts.find(fields, onSuccess, onError, options); 


function onSuccess(contacts) { 
    for (var i=0; i<contacts.length; i++) { 
     console.log("Display Name = " + contacts[i].displayName); 
     if(null != contacts[i].phoneNumbers) 
      { 
       for(var j=0;j<contacts[i].phoneNumbers.length;j++) 
       { 
         console.log("Name = " + contacts[i].displayName); 
         console.log("Phone = " + contacts[i].phoneNumber[j].value); 

       } 
      } 
    } 
} 

उत्तर

0

मेरा मानना ​​है कि Cordova एपीआई छानने पूरा करने के लिए आप क्या आवश्यकता अनुमति नहीं देता:

यह कैसे मेरे कोड वर्तमान में लग रहा है की तरह है। http://docs.phonegap.com/en/2.5.0/cordova_contacts_contacts.md.html#contacts.find

इसे कहते हैं:

contactFindOptions.filter स्ट्रिंग जब संपर्क डेटाबेस क्वेरी करने के लिए एक खोज फिल्टर के रूप में इस्तेमाल किया जा सकता

अपनी दस्तावेज़ीकरण यहाँ से

। यदि प्रदान किया गया है, तो एक केस-असंवेदनशील, आंशिक मान मिलान संपर्क फ़ील्ड पैरामीटर में निर्दिष्ट प्रत्येक फ़ील्ड पर लागू होता है। यदि किसी भी निर्दिष्ट फ़ील्ड के साथ तुलना में कोई मिलान मिलता है, तो संपर्क वापस कर दिया जाता है।

मुझे विश्वास नहीं है कि आप फोन नंबर फ़ील्ड के लिए गैर नल निर्धारित करने के लिए इसका उपयोग कर सकते हैं।

2

हाँ, हम का उपयोग कर सकते हैंफोन नंबर फ़िल्टर विकल्प।

  var contactFindOptions = new ContactFindOptions(); 
      contactFindOptions.filter = ""; 
      contactFindOptions.multiple = true; 
      contactFindOptions.hasPhoneNumber = true; 
      navigator.contacts.find(
        ["phoneNumbers"], 
        function (contacts) { 
         // you will get contacts in this callback success function 
        }, 
        function (e) { 
         if (e.code === ContactError.NOT_SUPPORTED_ERROR) { 
          console.log("Searching for contacts is not supported."); 
         } else { 
          console.log("Search failed: error " + e.code); 
         } 
        }, 
        contactFindOptions); 

नोट:: hasPhoneNumber (केवल Android): खोज फ़िल्टर केवल सूचित एक फोन नंबर के साथ संपर्क लौटने के लिए कोड स्निपेट इस प्रकार है। (बूलियन) (डिफ़ॉल्ट: झूठा)

संबंधित मुद्दे