Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
componentDidMount() {
var Contacts = require('react-native-contacts');
// var newPerson = {
// lastName: "Nietzsche",
// firstName: "Friedrich",
// emailAddresses: [{
// label: "work",
// email: "mrniet@example.com",
// }],
// }
// AddressBook.addContact(newPerson, (err) => { /*...*/ })
Contacts.checkPermission((err, permission) => {
// AddressBook.PERMISSION_AUTHORIZED || AddressBook.PERMISSION_UNDEFINED || AddressBook.PERMISSION_DENIED
if (permission === 'undefined') {
Contacts.requestPermission((err, permission) => {
// ...
});
}
if (permission === 'authorized') {
// yay!
Contacts.getAll((err, contacts) => {
console.log(err, contacts);
//update the first record
// let someRecord = contacts[0]
// someRecord.emailAddresses.push({
// label: "junk",
// email: "mrniet+junkmail@test.com",
// })
componentDidMount() {
var Contacts = require('react-native-contacts');
Contacts.checkPermission((err, permission) => {
// AddressBook.PERMISSION_AUTHORIZED || AddressBook.PERMISSION_UNDEFINED || AddressBook.PERMISSION_DENIED
if (permission === 'undefined') {
Contacts.requestPermission((err, permission) => {
// ...
});
}
if (permission === 'authorized') {
// yay!
Contacts.getAll((err, contacts) => {
console.log(err, contacts);
this.setState({ dataSource: this.state.dataSource.cloneWithRows(contacts) });
});
}
if (permission === 'denied') {
alert("通讯录未授权")
}
InteractionManager.runAfterInteractions(() => {
Contacts.checkPermission(async (err, permission) => {
if (err || permission !== 'authorized') {
Contacts.requestPermission(async (contactErr, res) => {
if (contactErr) {
if (Platform === 'ios' || Platform.OS === 'ios') {
// Crashlytics.recordError(contactErr);
}
}
if (res === 'authorized') {
contactList = await getMappedContacts();
}
mutate({ variables: { contactList } });
});
return;
const { syncContacts } = this.props;
try {
if (Platform === 'android' || Platform.OS === 'android') {
const permissions =
await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.READ_CONTACTS);
if (!permissions) {
const response =
await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.READ_CONTACTS);
if (response && response === 'granted') {
syncContacts();
}
this.setState({ contactPermission: !(response === 'denied' || response === 'never_ask_again'), contactPermissionResponse: response });
}
} else {
Contacts.checkPermission(async (err, permission) => {
const iosPermission = await AuthService.getContactPermission();
if (permission === 'authorized' && (iosPermission === null)) {
await syncContacts();
await AuthService.setContactPermission('synced');
}
if (err || permission !== 'authorized') {
Contacts.requestPermission((contactErr, res) => {
if (contactErr) {
if (Platform === 'ios' || Platform.OS === 'ios') {
// Crashlytics.recordError(contactErr);
}
}
if (res === 'authorized') {
syncContacts();
const { syncContacts } = this.props;
try {
if (Platform === 'android' || Platform.OS === 'android') {
const permissions =
await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.READ_CONTACTS);
if (!permissions) {
const response =
await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.READ_CONTACTS);
if (response && response === 'granted') {
syncContacts();
}
this.setState({ contactPermission: !(response === 'denied' || response === 'never_ask_again'), contactPermissionResponse: response });
}
} else {
Contacts.checkPermission(async (err, permission) => {
const iosPermission = await AuthService.getContactPermission();
if (permission === 'authorized' && (iosPermission === null)) {
await syncContacts();
await AuthService.setContactPermission('synced');
}
if (err || permission !== 'authorized') {
Contacts.requestPermission((contactErr, res) => {
if (contactErr) {
if (Platform === 'ios' || Platform.OS === 'ios') {
// Crashlytics.recordError(contactErr);
}
}
if (res === 'authorized') {
syncContacts();
return new Promise((resolve, reject) => {
Contacts.checkPermission((err, permission) => {
if (err) {
reject(err)
} else {
resolve(permission === 'authorized')
}
})
})
}
(resolve, reject) => {
Contacts.checkPermission((err, permission) => {
if (err) {
reject(err)
return
}
if (permission === 'undefined') {
Contacts.requestPermission((err, permission) => {
if (err) {
reject(err)
return
} else {
resolve(permission)
}
})
} else {
resolve(permission)
}