- Version: 1.2.0
- GitHub:
- NPM: https://www.npmjs.com/package/nativescript-advanced-permissions
- Downloads:
- Last Day: 8
- Last Week: 13
- Last Month: 43
nativescript-advanced-permissions
This Plugin is a wrap around Nathanael's nativescript-permissions plugin, while providing IOS Permissions with a matching API.
Installation
Describe your plugin installation steps. Ideally it would be something like:
tns plugin add nativescript-advanced-permissions
Usage
Right now to request the Camera Permissions, we use it like this
import { hasCameraPermission, requestCameraPermission } from 'nativescript-advanced-permissions/camera';
// also supports 'nativescript-advanced-permissions/files';
// also supports 'nativescript-advanced-permissions/calendar';
// also supports 'nativescript-advanced-permissions/location';
if( !hasCameraPermission() ) {
requestCameraPermission().then((hasPermission) => {
if( hasPermission ) {
// do something cool
} else {
// don't do something
}
});
}
API
this plugin has been split into smaller 'sub-modules', which when use give access to the specified permissions.
the sub-modules that we currently include are : files
, calendar
, location
, camera
and for each sub-module we follow the same naming convention: requestXPermission/hasXPermission
where x is the capitalised sub-module name.
Camera Module
Usage
import { hasCameraPermission, requestCameraPermission } from 'nativescript-advanced-permissions/camera';
if( !hasCameraPermission() ) {
requestCameraPermission().then((hasPermission) => {
if( hasPermission ) {
// do something cool
} else {
// don't do something
}
});
}
API
Function | Return Type | Description |
---|---|---|
hasCameraPermission() | boolean | returns whether or not the application has the permissions to use the camera |
requestCameraPermission() | Promise |
requests the user to allow Camera Permissions, returns a truthy promise if they do, and returns falsy if they don't |
Location Module
Usage
import { goToAppSettings } from 'nativescript-advanced-permissions/core';
import { hasLocationPermission, requestLocationPermission, isLocationEnabled } from 'nativescript-advanced-permissions/location';
if ( isLocationEnabled() ) {
if( !hasCameraPermission() ) {
requestCameraPermission().then((hasPermission) => {
if( hasPermission ) {
// do something cool
} else {
// don't do something
}
});
}
} else {
// tell the user to enable Location Services.
alert('Please Enable Location Settings...').then(() => goToAppSettings());
}
API
Function | Return Type | Description |
---|---|---|
hasLocationPermission() | boolean | returns whether or not the application has the permissions to use the Location Services |
requestLocationPermission() | Promise |
requests the user to allow Location Permissions, returns a truthy promise if they do, and returns falsy if they don't |
isLocationEnabled() | boolean | returns whether or not the location services are enabled on device. |
Calendar Module
Usage
import { hasCalendarPermission, requestCalendarPermission } from 'nativescript-advanced-permissions/calendar';
if( !hasCalendarPermission() ) {
requestCalendarPermission().then((hasPermission) => {
if( hasPermission ) {
// do something cool
} else {
// don't do something
}
});
}
API
Function | Return Type | Description |
---|---|---|
hasCalendarPermission() | boolean | returns whether or not the application has the permissions to use the Calendar |
requestCalendarPermission() | Promise |
requests the user to allow Calendar Permissions, returns a truthy promise if they do, and returns falsy if they don't |
License
Apache License Version 2.0, January 2004
Special Thanks!
Thanks to the genius Nathaniel Anderson for the Android Permissions Plugin, which i make use of in this plugin Nativescript-Permissions