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'),
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("通讯录未授权")
}
return new Promise((resolve, reject) => {
return Contacts.getAll((error, result) => {
// The native code sometimes sends strings instead of errors:
if (error) return reject(typeof error === 'string' ? new Error(error) : error)
return resolve(result)
})
})
}
const ContactsContainer = createContainer((props) => {
//get all phone contacts, then generate to contacts collection
RNContacts.getAll((err, contacts) => {
if(err === 'denied'){
// x.x
} else {
let phoneNumbers = [];
contacts.forEach((contact)=>{
contact.phoneNumbers.forEach((phone)=>{
if(phone.number){
const formatedPhoneNumber = "+" + phone.number.replace(new RegExp(/[-\/\\^$*+?.()|[\]{}]/g, 'g'), '').replace(/\s/g,'');
phoneNumbers.push(formatedPhoneNumber);
}
});
});
phoneNumbers = [...new Set(phoneNumbers)];
Meteor.call('contacts.generate', phoneNumbers);
}
});
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})
}