$ cordovaContacts的问题

时间:2016-09-01 18:07:25

标签: javascript android angularjs cordova ionic-framework

我是stackoverflow论坛的新手,我决定创建这个主题来解决我被困2周的问题。

我有以下内容:

  • Visual Studio Android模拟器
  • 使用标签模式创建的Ionic 1项目。

我正在尝试使用ngCordova联系人模块($ cordovaContacts)来检索联系人的电话号码。问题是“导航器”对象出错。我发现无法访问这些对象的字段(函数,应用程序,联系人,启动画面),因此当我调用$ cordovaContacts.find(...)时,它显示错误:“找不到未定义的属性查找“。我花了一些时间调试,当我使用时:

console.log(navigator);

控制台显示:

[object Object]

services.js (21,15)

CordovaNavigator

_ {_

_ [functions]: ,_

_ proto: { },_

_ app: { },_

_ contacts: { },_

_ splashscreen: { }_

_ }_

但是当我打印 navigator.contacts 对象时,它会显示未定义的

我也尝试使用 navigator.CordovaNavigator ,但也未定义。

加载控制器时会调用此代码。

我不知道为什么它显示导航器有一个属性联系人然后当我调用它时显示UNDEFINED。也许我需要坚持一些访问权限??。

我真的迷失了,所以你告诉我的任何事都会有所帮助。非常感谢。

1 个答案:

答案 0 :(得分:0)

如果您尝试在控制器负载上获取联系人(意味着您不在其他方法内手动触发或通过超时/间隔),则需要使用ionicPlatform.ready()将其包装起来方法,否则插件在那时就没有准备好。

ionic.Platform.ready(function(){
    $cordovaContacts.find().then(function(allContacts) {
        $scope.contacts = allContacts;
    });
});