【发布时间】:2020-11-17 13:45:32
【问题描述】:
我们正在尝试使用 cordova-plugin-contacts 获得对电话联系人列表的本地访问(ios/android 测试设备和模拟器都试过了!)。
我们已经尝试了我们可以找到的网络上的所有线程,并尝试了各种方法/教程,但似乎没有任何效果。当 .ts 失败时,我们只是得到空白屏幕。我们已经尝试过简单的项目,但在这一点上失败了!我们了解到,出于安全考虑,cordova 不再支持该代码,但我们知道人们仍然能够以某种方式使用该代码。
我们的结构: 离子 CLI 4.12.0
Angular CLI 7.3.6
科尔多瓦 CLI 9.0.0
NodeJS 11.12.0
其他人尝试过: npm install @ionic-native/contacts
在提供者中:
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 {}
HTML:
<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>
在 .ts 中:
import { Component } from '@angular/core';
import { NavController, NavParams } from '@ionic/angular';
//Importo la libreria de contactos...
import { Contacts, ContactFieldType, IContactFindOptions} from "@ionic-native/contacts";
//Definimos el selector y los templates y estilos...
@Component({
selector: 'app-contact',
templateUrl: 'contact.page.html'
})
//Clase Principal de la pagina de Contactos...
export class ContactPage {
ourtype: ContactFieldType[] = ["displayName"];
contactsFound = [];
constructor(public navCtrl: NavController, private contacts: Contacts){
this.search('');
}
//Metodo para buscar un contacto con el metodo find();
search(q){
const option: IContactFindOptions = {
filter: q
}
this.contacts.find(this.ourtype, option).then(cont => {
this.contactsFound = cont
})
}
}
我们尝试添加警报,但代码中的所有警报都失败了……它就死了!
【问题讨论】:
-
这是我们的课程 @Rahul export class ContactPage{ ourtype: ContactFieldType[] = ["displayName"];联系人发现 = [];构造函数(公共 navCtrl:NavController,私人联系人:联系人,私人平台:平台){ const 选项:ContactFindOptions = { 过滤器:“”} this.platform.ready().then(() => { alert("INSIDE READY" ) this.contact.find(this.ourtype, option).then((cont) => { alert("INSIDE FIND"); this.contactsFound = cont; }) }); } }
标签: angular cordova ionic-framework ionic4