Sumit Rahate
Sumit Rahate

Reputation: 1

React Native Linking Promise resolved reject not getting called

I am using react native linking component for opening call application.call suggestion dialog get opened but when I click on cancel it does not return me any promise

static makePhoneCall = (mobileNumber) => 
{

let phoneNumber = '';

        if (Platform.OS === 'android') {
            let userMobile = `tel:${mobileNumber}`
            phoneNumber = userMobile;
        }
        else {
            let userMobile = `tel://${mobileNumber}`
            phoneNumber = userMobile;
        }
        Linking.openURL(phoneNumber).then(() => {
          alert('success')
        }).catch(() => {
            alert('failure')
        });
        return 'default`
    }

classname.makePhoneCall(this.state.item.mobileNumber)

I want to know how to handle openUrl Promise with some example, I have share code of what I have done. I am using react native version 0.59.9

Upvotes: 0

Views: 981

Answers (1)

johnborges
johnborges

Reputation: 2533

You should check to see if theres an app available to handle the url first.

Linking.canOpenURL(phoneNumber)
  .then((supported) => {
    if (!supported) {
      console.log("Can't handle url: " + url);
    } else {
      return Linking.openURL(url);
    }
  })
  .catch((err) => console.error('An error occurred', err));

Upvotes: 1

Related Questions