我们无法使用cordova插件获得对联系人列表的本地访问

时间:2019-03-28 10:04:19

标签: angular cordova ionic-framework ionic4

我们正在尝试使用cordova-plugin-contacts(包括ios / android测试设备和尝试过的模拟器!)对电话联系人列表进行本地访问。

我们已经尝试了所有可以找到的网络线程,并尝试了各种方法/教程来进行尝试,但是似乎没有任何效果。 .ts失败时,我们只是得到黑屏。我们已经尝试过一些简单的项目,但到现在为止迷路了!我们了解到,出于安全方面的考虑,cordova不再支持该代码,但是我们知道人们仍然能够以某种方式使用该代码。

我们的结构: 离子CLI 4.12.0

Angular CLI 7.3.6

Cordova CLI 9.0.0

NodeJS 11.12.0

其他人尝试过: npm install @ ionic-native / contacts

在提供者中:

baseURI

HTML:


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

@NgModule({
  declarations: [AppComponent],
  entryComponents: [],
  imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
  providers: [
    StatusBar,
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
    Contacts
  ],
  bootstrap: [AppComponent]
})

export class AppModule {}

在.ts中:

<ion-header>
  <ion-toolbar>
    <ion-title>Contact</ion-title>
  </ion-toolbar>
</ion-header>

<ion-content padding>

  <ion-list>
    <ion-item *ngFor="let contact of contactsFound">

        <h3 style="padding-top: 5rem;">{{contact?.displayName}}</h3>

        <!--Recorro el numero de cada contacto-->
        <p *ngFor="let num of contact?.phoneNumbers">
          {{num.value}}
        </p>

    </ion-item>
  </ion-list>

</ion-content>

我们尝试添加警报,但是所有代码都失败了……它就死了!

2 个答案:

答案 0 :(得分:0)

HI Matt收听平台就绪事件,一旦触发事件,则只有您可以访问通讯录相机等本机功能。

例如:

this.platform.ready().then(() => {
    // access contact here  contact.find call 
});

答案 1 :(得分:0)

import { Contacts, ContactFieldType, IContactFindOptions} from "@ionic-native/contacts";

已弃用我无法在构造函数中使用Contacts类。请提出替代方案。我尝试使用“ dbaq / cordova-plugin-contacts-电话号码”,navigator.contactsPhoneNumbers显示空对象{}list()对象中没有navigator.contactsPhoneNumbers函数。