获取联系人的计数是正确的,但在Ionic 4中获取联系人的空值

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

我正在使用离子联系人插件,它给了我正确的手机联系人数,但所有细节字段都是空的,

我正在使用“cordova-plugin-contacts”:“3.0.1”,“@ ionic-native / contacts”:“^ 5.0.0”

import { Contacts } from '@ionic-native/contacts/ngx';

constructor( private contactsPlugin: Contacts ) { }

document.addEventListener("deviceready", () => {

    this.contactsPlugin.find(["displayName", "phoneNumbers","photos"], {multiple: true, hasPhoneNumber: true})
      .then((contacts) => {
        console.log("Length: ", contacts.length);
        for(let i=0; i < contacts.length; i++){
          console.log('... ',contacts[i]);
          if ( contacts[i].displayName != null ) {
            console.log("--> ", contacts[i].displayName );
          }
        }
      }, 
      (error) => {
        console.error("Contacts error: ", error)
      })

});
android cordova-plugins ionic4 ionic-plugins
1个回答
0
投票

解决它像这样:

import { Contacts } from '@ionic-native/contacts/ngx';

declare var navigator: any;

@Component({
  selector: 'assignment',
  templateUrl: './assignment.page.html',
  styleUrls: ['./assignment.page.scss']
})

async getContacts() {
 await document.addEventListener("deviceready", () => {

  navigator.contacts.find(
    [navigator.contacts.fieldType.displayName],
    gotContacts,
    errorHandler);

    function errorHandler(e) {
      console.log("errorHandler: "+e);
    }

    function gotContacts(deviceContacts) {
    console.log("gotContacts, number of results " + deviceContacts.length);
      for(var i=0, len = deviceContacts.length; i<len; i++) {
            console.log("Contact >>>  ", deviceContacts[i]);
       }
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.