Ionic 2 Contacts Native Plugin在真正的Android设备中无法正常工作

时间:2016-12-26 03:37:39

标签: android ionic-framework ionic2 cordova-plugins

我按照本文档中的说明安装了Ionic 2的Contacts插件:

https://ionicframework.com/docs/v2/native/contacts/

该引用并未向我们提供有关如何使用该插件的任何解释,也没有关于如何查找和处理错误的示例。

在模拟器中我的应用程序运行正常。它列出了所有联系人。但在实际设备中,它会给我一个空错误,并且没有联系人写入列表。

Contacts.find(['phoneNumbers']).then((phone_contacts) => {
   self.contacts = {};
  // Some code
}).catch((error) => {
   alert('Contacts error: '+JSON.stringify(error));
});

error对象为空,警告打印{}

我通过两种不同的方式安装了应用程序:

1- sudo ionic run android 2-将and​​roid-debug.apk复制到downloads文件夹并通过包管理器安装。我授予了所请求的权限。

这两行在我的Manifest.xml中

<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="24" />
<uses-permission android:name="android.permission.READ_CONTACTS" />

任何人都知道如何调试它?或者这可能是什么错误?

@edit

这是Android 4.4.2,KitKat

@edit 2

我将代码放在我home.ts的构造函数中ready事件中。

platform.ready().then(() => {

});

1 个答案:

答案 0 :(得分:-1)

我有一个类似的错误,在console.log中显示以下消息:

EXCEPTION:Uncaught(在promise中):TypeError:navigator.contacts未定义 往来

这是我的代码:

import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { StatusBar, Splashscreen } from 'ionic-native';
import { Contacts } from 'ionic-native';
import { HomePage } from '../pages/home/home';


@Component({
  templateUrl: 'app.html'
})
export class MyApp {
  rootPage = HomePage;

  constructor(platform: Platform) {
    platform.ready().then(() => {
      // Okay, so the platform is ready and our plugins are available.
      // Here you can do any higher level native things you might need.
      StatusBar.styleDefault();
      Splashscreen.hide();

    Contacts.find(['displayName','name','nickname'], {filter:''})
      .then(
        cont=>{
          console.log(cont[0]);
          alert(JSON.stringify(cont[0]));
        })      
    });
  }
}