Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获引用错误:未定义ContactFindOptions_Javascript_Android_Cordova_Cordova 3 - Fatal编程技术网

Javascript 未捕获引用错误:未定义ContactFindOptions

Javascript 未捕获引用错误:未定义ContactFindOptions,javascript,android,cordova,cordova-3,Javascript,Android,Cordova,Cordova 3,我的cordova/phonegap联系人有问题。 这是我试图执行的代码,我将其放入一个外部javascript文件中: function onDeviceReady() { // find all contacts var options = new ContactFindOptions(); options.filter = "*"; var fields = ["displayName", "name"]; navigator.contacts.find(fields, onSuccess

我的cordova/phonegap联系人有问题。
这是我试图执行的代码,我将其放入一个外部javascript文件中:

function onDeviceReady() {
// find all contacts
var options = new ContactFindOptions();
options.filter = "*";
var fields = ["displayName", "name"];
navigator.contacts.find(fields, onSuccess, onError, options);
}

// onSuccess: Get a snapshot of the current contacts

function onSuccess(contacts) {
for (var i = 0; i < contacts.length; i++) {
    console.log("Display Name = " + contacts[i].displayName);
}
}

// onError: Failed to get the contacts

function onError(contactError) {
alert('onError!');
}
有人知道如何让函数ContactFindOptions()工作吗


如果您需要更多信息,请告诉我。

使用Phonegap访问Android上的联系人:-

function onDeviceReady() {
    // specify contact search criteria
    var options = new ContactFindOptions();
    options.filter="";          // empty search string returns all contacts
    options.multiple=true;      // return multiple results
    filter = ["displayName"];   // return contact.displayName field

    // find contacts
    navigator.contacts.find(filter, onSuccess, onError, options);
}

var names = [];

// onSuccess: Get a snapshot of the current contacts
//
function onSuccess(contacts) {
    for (var i=0; i<contacts.length; i++) {
        if (contacts[i].displayName) {  // many contacts don't have displayName
            names.push(contacts[i].displayName);
        }
    }
    alert('contacts loaded');
}
函数ondevicerady(){
//指定联系人搜索条件
var options=new ContactFindOptions();
options.filter=”“;//空搜索字符串返回所有联系人
options.multiple=true;//返回多个结果
筛选器=[“displayName”];//返回contact.displayName字段
//查找联系人
navigator.contacts.find(过滤器、onSuccess、onError、选项);
}
变量名称=[];
//onSuccess:获取当前联系人的快照
//
成功时的功能(联系人){

对于(var i=0;i这可能是因为您的cordova不理解此函数。 你需要添加插件,你需要添加联系人插件。 在cordova项目中,使用命令行运行此命令:

cordova plugin add org.apache.cordova.contacts
这将向AndroidManifest.xml添加以下内容

<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<feature name="Contacts">
   <param name="android-package" value="org.apache.cordova.contacts.ContactManager" />
</feature>

并将以下内容添加到res\xml\config.xml

<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<feature name="Contacts">
   <param name="android-package" value="org.apache.cordova.contacts.ContactManager" />
</feature>

我遇到了同样的问题,因为Cordova中的
DeviceRady
事件尚未触发。通过在
DeviceRady
事件侦听器中包装任何Cordova API调用来解决此问题:

document.addEventListener("deviceready", function(){
    console.log("deviceready fired!"); //do your stuff
});

有同样的问题,添加了这行代码,它成功了。它链接到cordova库

<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript">
    app.initialize();
</script>

app.initialize();

change cordova libaray你是什么意思?我使用的cordova库是最新可用的。问题是我不想保存或创建联系人,只需从用户的手机中获取所有联系人。并最终列出他们,但首先让该功能工作并将其返回控制台。仍然不工作,并且获得相同的er返回。需要有一个包含ContactFindOptions()的文件,但我找不到。甚至将cordova.js文件放在downloader.js文件之前,它应该可以工作。通过这种方式…我认为我可以直接使用contacts。我正在尝试从github安装它,现在可以工作了。谢谢。添加了联系人库。