react-native-permission-service

0.1.0 • Public • Published

React Native Permission Service

React Native Permission Service

npm version npm Platform - Android and iOS License: MIT styled with prettier

React Native Permission Service React Native Permission Service

Installation

Add the dependency:

npm i react-native-permission-service

Peer Dependencies

IMPORTANT! You need install them
"react-native-permissions": ">= 2.2.0"

Usage

Import

import {
  hasAllPermissionsFunc,
  requestCameraPermission,
  requestLocationPermission,
  requestPhotoLibraryPermission,
} from "react-native-permission-service";

Location Permission Usage

requestLocationPermission().then((result: string) => {
  if (result === RESULTS.GRANTED) this.setState({ isLocPermGranted: true });
});

Camera Permission Usage

requestCameraPermission().then((result: string) => {
  if (result === RESULTS.GRANTED) this.setState({ isCameraPermGranted: true });
});

Gallery Permission Usage

requestPhotoLibraryPermission().then((result: string) => {
  if (result === RESULTS.GRANTED)
    this.setState({ isPhotoLibraryPermGranted: true });
});

Has All Permission Usage

checkPermissions = () => {
  const {
    isLocPermGranted,
    isCameraPermGranted,
    isPhotoLibraryPermGranted,
  } = this.state;
  hasAllPermissionsFunc().then((res: any) => {
    res.map((item: any) => {
      switch (item.type) {
        case "location":
          this.setState({ isLocPermGranted: item.permission });
          break;
        case "camera":
          this.setState({ isCameraPermGranted: item.permission });
          break;
        case "photoLibrary":
          this.setState({ isPhotoLibraryPermGranted: item.permission });
          break;
      }
    });
    if (isLocPermGranted && isCameraPermGranted && isPhotoLibraryPermGranted) {
      // Navigation should be here
      alert("All Permissions are GRANTED!");
    }
  });
};

Example Project 😍

You can checkout the example project 🥰

Simply run

  • npm i
  • npx pod-install// if you run it on iOS
  • react-native run-ios/android

should work of the example project.

Future Plans

  • [x] LICENSE
  • [ ] Write an article about the lib on Medium

iOS Future Plans

  • [ ] App Tracking Transparency Permission Handling
  • [ ] Bluetooth Peripheral Permission Handling
  • [ ] Calendars Permission Handling
  • [ ] Contacts Permission Handling
  • [ ] FaceID Permission Handling
  • [ ] Microphone Permission Handling
  • [ ] Photo Library Add Only Permission Handling
  • [ ] Reminders Permission Handling
  • [ ] Siri Permission Handling
  • [ ] Speech Recognition Permission Handling
  • [ ] Store kit Permission Handling

Android Future Plans

  • [ ] Accept Handover Permission Handling
  • [ ] Access Background Location Permission Handling
  • [ ] Activity Recognition Permission Handling
  • [ ] Add Voicemail Permission Handling
  • [ ] Answer Phone Calls Permission Handling
  • [ ] Body Sensors Permission Handling
  • [ ] Call Phone Permission Handling
  • [ ] Get Accounts Permission Handling
  • [ ] Process Outgoing Calls Permission Handling
  • [ ] Read Calendar Permission Handling
  • [ ] Read Call Log Permission Handling
  • [ ] Read Contacts Permission Handling
  • [ ] Read External Storage Permission Handling
  • [ ] Read Phone Numbers Permission Handling
  • [ ] Read Phone State Permission Handling
  • [ ] Read SMS Permission Handling
  • [ ] Receive MMS Permission Handling
  • [ ] Receive SMS Permission Handling
  • [ ] Receive Wap Push Permission Handling
  • [ ] Record Audio Permission Handling
  • [ ] Send SMS Permission Handling
  • [ ] Use Sip Permission Handling
  • [ ] Write Calendar Permission Handling
  • [ ] Write Call Log Permission Handling
  • [ ] Write Contacts Permission Handling
  • [ ] Write External Storage Permission Handling

Change Log

Change log will be here !

Author

FreakyCoder, kurayogun@gmail.com

License

React Native Permission Service is available under the MIT license. See the LICENSE file for more info.

Package Sidebar

Install

npm i react-native-permission-service

Weekly Downloads

2

Version

0.1.0

License

MIT

Unpacked Size

37.3 kB

Total Files

11

Last publish

Collaborators

  • freakycoder