react-native-contacts getAll返回null

时间:2019-03-27 06:23:30

标签: android reactjs react-native react-native-contacts

根据此link,我使用react-native-contact在android设备中打开联系人列表,因此用户可以选择一个并将其添加到列表中。但是,当我单击一个按钮以打开联系人列表时,react-native-contacts getAll返回null。 这是我使用的代码:

 openContactlist() {


Contacts.getAll((err, contacts) => {
  if (err) {
   // throw err;
    alert("NO");
  }
  // contacts returned
  alert("yes");

})

 }

在渲染本机代码中,有一个按钮,通过单击它可以调用上面的函数:

<Button
                title="From contact list"
                onPress={this.openContactlist}
              />

错误:

 null is not an object (evaluating '_react-native-contacts.getall')

enter image description here

2 个答案:

答案 0 :(得分:1)

按照“ react-native-contacts”文档中提到的步骤进行操作,并在最后添加一个catch块,对我有用。

PermissionsAndroid.request(
            PermissionsAndroid.PERMISSIONS.READ_CONTACTS,
            {
              'title': 'Contacts',
              'message': 'This app would like to view your contacts.'
            }
          ).then(() => {
            con.getAll((err, contacts) => {
              if (err === 'denied'){
                // error
              } else {
                // contacts returned in Array
                console.log(contacts);
              }
            })
          })
          .catch((err)=> {
              console.log(err);
          })

答案 1 :(得分:0)

一个原因可能是您未正确链接“ react-native-contact”

您还必须按照以下步骤链接-

对于Android: https://github.com/rt2zz/react-native-contacts#android

对于IOS: https://github.com/rt2zz/react-native-contacts#ios