2013-09-23 5 views
0

Je reçois cette erreur lorsque mon application appelle:Phonegap: erreur "classe Contacts ne peuvent pas être trouvés" dans BlackBerry 10

navigator.contacts.find(fields, onSuccess, onError, options); 

Le rappel onError --->classe Contacts ne peuvent pas être trouvés.

Je pense que cela peut être un problème avec la configuration du plugin. Dans mon plugins.xml j'ai cette ligne:

<plugin name="Contacts"  value="org.apache.cordova.pim.Contact"/> 

et config.xml:

<feature id="blackberry.identity" required="true" version="1.0.0.0" /> 
<feature id="blackberry.pim.Address" required="true" version="1.0.0.0" /> 
<feature id="blackberry.pim.Contact" required="true" version="1.0.0.0" /> 

Je construis avec PhoneGap 2.7.0, et je l'ai suivi le api guide. Et déploiement sur le simulateur BB10.

Je ne sais pas quel est le problème de configuration avec 'Contacts', une idée?

EDIT: Ceci est mon config.xml pour BB10

<?xml version="1.0" encoding="UTF-8"?> 

<!-- 
    Widget Configuration Reference: 
    http://docs.blackberry.com/en/developers/deliverables/15274/ 
--> 

<widget xmlns="http://www.w3.org/ns/widgets" 
     xmlns:rim="http://www.blackberry.com/ns/widgets" 
     version="1.0.0.0" 
     id="com.xxxxx.xxxx"> 

    <name>xxxx</name> 

    <author href="http://www.xxxxx.es" email="[email protected]"> 
     xxxxx 
    </author> 

    <description> 
     xxxxx description. 
    </description> 

    <license href="http://opensource.org/licenses/alphabetical"> 
    </license> 

    <!-- Cordova API --> 
    <feature id="blackberry.system" required="true" version="1.0.0.0" /> 
    <feature id="org.apache.cordova" required="true" version="1.0.0" /> 
    <feature id="blackberry.find" required="true" version="1.0.0.0" /> 
    <feature id="blackberry.identity" required="true" version="1.0.0.0" /> 
    <feature id="blackberry.identity.phone" required="true" version="1.0.0.0" /> 
    <feature id="blackberry.pim.Address" required="true" version="1.0.0.0" /> 
    <feature id="blackberry.pim.Contact" required="true" version="1.0.0.0" /> 
    <feature id="blackberry.io.file" required="true" version="1.0.0.0" /> 
    <feature id="blackberry.utils" required="true" version="1.0.0.0" /> 
    <feature id="blackberry.io.dir" required="true" version="1.0.0.0" /> 
    <feature id="blackberry.app" required="true" version="1.0.0.0" /> 
    <feature id="blackberry.app.event" required="true" version="1.0.0.0" /> 
    <feature id="blackberry.system.event" required="true" version="1.0.0.0"/> 
    <feature id="blackberry.widgetcache" required="true" version="1.0.0.0"/> 
    <feature id="blackberry.media.camera" /> 
    <feature id="blackberry.ui.dialog" /> 
    <feature id="blackberry.connection" /> 
    <feature id="blackberry.bbm.platform" /> 
    <feature id="blackberry.invoke.card" /> 
    <feature id="blackberry.pim.contacts" /> 
    <feature id="blackberry.ui.contextmenu" /> 
    <feature id="blackberry.io.filetransfer" /> 
    <feature id="blackberry.io" /> 
    <feature id="blackberry.invoke" /> 
    <feature id="blackberry.invoked" /> 
    <feature id="blackberry.push" /> 
    <feature id="blackberry.media.microphone" required="true" version="1.0.0.0"/> 

    <!-- Cordova API --> 
    <access subdomains="true" uri="file:///store/home" /> 
    <access subdomains="true" uri="file:///SDCard" /> 

    <!-- Expose access to all URIs, including the file and http protocols --> 

    <access uri="*" subdomains="true" /> 
    <access uri="http://phonegap.com" subdomains="true"/> 
    <access uri="http://debug.build.phonegap.com" subdomains="true"/> 
    <access uri="http://xxxxx.com" subdomains="true"/> 

    <!-- 
    <icon rim:hover="false" src="res/icon/blackberry/icon-80.png" /> 
    <icon rim:hover="true" src="res/icon/blackberry/icon-80.png" /> 
    --> 
    <icon rim:hover="false" src="res/icon/blackberry/windows_phone_62x62.png" /> 
    <icon rim:hover="true" src="res/icon/blackberry/windows_phone_62x62.png" /> 

    <rim:loadingScreen backgroundColor="#CFCFCF" 
        foregroundImage="res/screen/blackberry/screen-225.png" 
      onFirstLaunch="true"> 
    <rim:transitionEffect type="fadeOut" /> 
    </rim:loadingScreen> 

    <content src="index.html" /> 

    <rim:permissions> 
    <rim:permit>use_camera</rim:permit> 
    <rim:permit>read_device_identifying_information</rim:permit> 
    <rim:permit>access_shared</rim:permit> 
    <rim:permit>read_geolocation</rim:permit> 
    <rim:permit>record_audio</rim:permit> 
    <rim:permit>access_pimdomain_contacts</rim:permit> 
    </rim:permissions> 


</widget> 
+0

Pouvez-vous poster votre config.xml complet? – jeffheifetz

+0

Je viens d'ajouter à mon message. Merci :) – wendigo

+0

Salut, a trouvé une solution à cela. J'ai la même situation. Lorsque j'ai défini un point d'arrêt dans le code source où l'exception s'est produite, je trouve que cordova n'a chargé que les plugins suivants ** (NetworkStatus, Accelerometer, Device, Battery, Boussole, Caméra, Capture, Logger, Notification, Média, Fichier, InAppBrowser, FileTransfer) ** –

Répondre

0

L'ID de fonction que vous utilisez est pour les anciennes versions du BlackBerry OS. S'il vous plaît utiliser <feature id="blackberry.pim.contacts" />

+0

Merci pour la réponse, mais mon config.xml inclut déjà cette entrée. J'ai aussi essayé de commenter l'entrée "Contact". – wendigo

Questions connexes