How to use the react-native-contacts.requestPermission function in react-native-contacts

To help you get started, we’ve selected a few react-native-contacts examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github MiEcosystem / miot-plugin-sdk / projects / com.xiaomi.demo / Main / AddressBookDemo.js View on Github external
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
github Skjutsgruppen / skjutsgruppen-reactnative / app / screens / auth / onboarding / Onboarding.js View on Github external
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'),
                [
github MiEcosystem / miot-plugin-sdk / projects / com.xiaomi.demo / Main / ThirdPartDemo / AddressBookDemo.js View on Github external
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);
    });
  }
github Skjutsgruppen / skjutsgruppen-reactnative / app / screens / tab / feed.js View on Github external
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'),
github Skjutsgruppen / skjutsgruppen-reactnative / app / services / apollo / contact.js View on Github external
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;
            }
github keybase / client / shared / teams / invite-by-email / permissions.tsx View on Github external
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})
                }
github celo-org / celo-monorepo / packages / mobile / src / utils / permissions.ios.ts View on Github external
return new Promise((resolve, reject) => {
    Contacts.requestPermission((err, permission) => {
      if (err) {
        reject(err)
      } else {
        resolve(permission === 'authorized')
      }
    })
  })
}
github textileio / photos / App / features / contacts / sagas.ts View on Github external
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)
        }
      })
    }