This Plugin is a wrap around Nathanael's nativescript-permissions plugin, while providing IOS Permissions with a matching API.
Describe your plugin installation steps. Ideally it would be something like:
tns plugin add nativescript-advanced-permissions
Right now to request the Camera Permissions, we use it like this
import { hasCameraPermissions, requestCameraPermissions } from 'nativescript-advanced-permissions/camera';
// also supports 'nativescript-advanced-permissions/files';
// also supports 'nativescript-advanced-permissions/calendar';
// also supports 'nativescript-advanced-permissions/location';
if( !hasCameraPermissions() ) {
requestCameraPermissions().then((hasPermission) => {
if( hasPermission ) {
// do something cool
} else {
// don't do something
}
});
}
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.
import { hasCameraPermission, requestCameraPermission } from 'nativescript-advanced-permissions/camera';
if( !hasCameraPermission() ) {
requestCameraPermission().then((hasPermission) => {
if( hasPermission ) {
// do something cool
} else {
// don't do something
}
});
}
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 |
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());
}
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. |
import { hasCalendarPermission, requestCalendarPermission } from 'nativescript-advanced-permissions/calendar';
if( !hasCalendarPermission() ) {
requestCalendarPermission().then((hasPermission) => {
if( hasPermission ) {
// do something cool
} else {
// don't do something
}
});
}
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 |
Apache License Version 2.0, January 2004
Thanks to the genius Nathaniel Anderson for the Android Permissions Plugin, which i make use of in this plugin Nativescript-Permissions