$cordovaContacts

问题描述 投票:0回答:1

我是 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 但也未定义。

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

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

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

javascript android angularjs cordova ionic-framework
1个回答
0
投票

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

ionic.Platform.ready(function(){
    $cordovaContacts.find().then(function(allContacts) {
        $scope.contacts = allContacts;
    });
});
© www.soinside.com 2019 - 2024. All rights reserved.