react-native-contacts getAll 返回 null
Posted
技术标签:
【中文标题】react-native-contacts getAll 返回 null【英文标题】:react-native-contacts getAll return null 【发布时间】:2019-03-27 06:23:30 【问题描述】:根据link,我使用 react-native-contact 在 android 设备中打开联系人列表,以便用户可以选择一个并将其添加到列表中。但是当我单击按钮打开联系人列表时,。 这是我使用的代码:
openContactlist()
Contacts.getAll((err, contacts) =>
if (err)
// throw err;
alert("NO");
// contacts returned
alert("yes");
)
在 react native 代码的渲染中,有一个按钮,点击它可以调用上面的函数:
<Button
title="From contact list"
onPress=this.openContactlist
/>
错误:
null is not an object (evaluating '_react-native-contacts.getall')
【问题讨论】:
React Native: Possible unhandled promise rejection的可能重复 【参考方案1】:一个原因可能是你没有正确链接 react-native-contact
您还必须按照这些步骤进行链接-
对于安卓: https://github.com/rt2zz/react-native-contacts#android
对于 ios: https://github.com/rt2zz/react-native-contacts#ios
【讨论】:
试试这个console.log(Contacts),你会发现你是否正确链接了它,以及getAll在Contact对象中的确切位置。 这可能并不总是问题所在,但对我来说,谢谢! 在我的例子中,我忘记在 AndroidManifest.xml 文件中添加以下权限:按照 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);
)
【讨论】:
以上是关于react-native-contacts getAll 返回 null的主要内容,如果未能解决你的问题,请参考以下文章