Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
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",
// })
// Contacts.updateContact(someRecord, (err) => { /*...*/ })
//delete the second record
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();
}
// console.warn(err, res);
this.setState({ contactPermission: false, contactPermissionResponse: permission });
});
if (permission === 'denied') {
AlertIOS.alert(
'Contacts Permission',
trans('onboarding.contact_permission'),
[
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("通讯录未授权")
}
console.log(permission);
});
}
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();
}
// console.warn(err, res);
this.setState({ contactPermission: false, contactPermissionResponse: permission });
});
if (permission === 'denied' && (!iosPermission)) {
AlertIOS.alert(
'Contacts Permission',
trans('onboarding.contact_permission'),
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;
}
Contacts.checkPermission((err, permission) => {
// Check the existing system settings, see if we need to ask
if (err) {
reject(err)
}
if (permission === 'undefined' || permission === 'denied') {
// Now we need to show the request dialog
Contacts.requestPermission((err, _) => {
// second param is supposed to be granted, but is buggy, so we checkPermission again
if (err) {
reject(err)
}
Contacts.checkPermission((err, permission) => {
// Check to see what the user said
if (err) {
reject(err)
}
if (permission === 'authorized') {
Contacts.getAll((err, contacts) => {
if (err) {
reject(err)
} else {
resolve({contacts, hasPermission: true})
}
return new Promise((resolve, reject) => {
Contacts.requestPermission((err, permission) => {
if (err) {
reject(err)
} else {
resolve(permission === 'authorized')
}
})
})
}
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)
}
})
}