Skip to content
This repository has been archived by the owner on May 5, 2023. It is now read-only.

Initiate immediate phone call (without further user interaction) for React Native on iOS and Android.

License

Notifications You must be signed in to change notification settings

Zetifi/react-native-immediate-phone-call

 
 

Repository files navigation

react-native-immediate-phone-call

Initiate immediate phone call (without further user interaction) for React Native on iOS and Android. The difference with react-native-phone-call and react-native-communications is that with this library no additional user input is required for Android and the call starts instantly (Apple always asks confirmation since the last iOS updates...).

NOTICE:

  • for React Native < 0.47 use react-native-immediate-phone-call <1.x.x
  • for React Native 0.47 - 0.59 use react-native-immediate-phone-call >=1.x.x
  • for React Native >= 0.60 use react-native-immediate-phone-call >=2.x.x

Setup

(NOTICE THAT INSTALLATION STEPS FOR NEWER REACT NATIVE VERSIONS MAY BE DIFFERENT...)

Fast and easy:

npm install react-native-immediate-phone-call --save
react-native link react-native-immediate-phone-call

Or manual: add the latest version as dependeny to your package.json.

{
  "name": "YourProject",
  ...
  },
  "dependencies": {
    ...
    "react-native-immediate-phone-call": "^1.0.0",
    ...
  }

iOS

  • Add RNImmediatePhoneCall.xcoderproj into your project in the Libraries folder.
  • Add the .a file on the General tab of your target under Linked Frameworks And Libraries
  • Add the .a file on the Build Phases tab of your target under Link Binary With Libraries

Android

  • In the AndroidManifest.xml file of your android studio project add:
    <uses-permission android:name="android.permission.CALL_PHONE" />
    
  • In the settings.gradle
      include ':react-native-immediate-phone-call', ':app'
      project(':react-native-immediate-phone-call').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-immediate-phone-call/android')
    
  • In the build.gradle
      implementation project(':react-native-immediate-phone-call')
    
  • In MainApplication.java
      import com.github.wumke.RNImmediatePhoneCall.RNImmediatePhoneCallPackage;
      ...
      @Override
      protected List<ReactPackage> getPackages() {
        return Arrays.<ReactPackage>asList(
          ...
          new RNImmediatePhoneCallPackage(),
          ...
        );
      }
      ...
    
  • MainActivity.java
      import com.github.wumke.RNImmediatePhoneCall.RNImmediatePhoneCallPackage;  // <--- import
      ...
      public class MainActivity extends ReactActivity {      
        ...
        @Override
        public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
            RNImmediatePhoneCallPackage.onRequestPermissionsResult(requestCode, permissions, grantResults); // very important event callback
            super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        }    
        ...
      }
    

Usage

import RNImmediatePhoneCall from 'react-native-immediate-phone-call';
...
RNImmediatePhoneCall.immediatePhoneCall('0123456789');
...

Versioning

This project uses semantic versioning: MAJOR.MINOR.PATCH. This means that releases within the same MAJOR version are always backwards compatible. For more info see semver.org.

About

Initiate immediate phone call (without further user interaction) for React Native on iOS and Android.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 79.3%
  • Ruby 8.9%
  • Objective-C 6.2%
  • JavaScript 5.6%