How to use the expo-permissions.REMINDERS function in expo-permissions

To help you get started, we’ve selected a few expo-permissions examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github expo / expo / home / utils / PermissionUtils.js View on Github external
import Constants from 'expo-constants';
import * as IntentLauncher from 'expo-intent-launcher';
import * as Permissions from 'expo-permissions';
import { Alert, Linking, Platform } from 'react-native';

const PermissionName = {
  [Permissions.CAMERA]: 'The Camera',
  [Permissions.LOCATION]: 'GPS',
  [Permissions.CAMERA_ROLL]: 'The Gallery',
  [Permissions.AUDIO_RECORDING]: 'The Microphone',
  [Permissions.NOTIFICATIONS]: 'Push Notifications',
  [Permissions.USER_FACING_NOTIFICATIONS]: 'Notifications',
  [Permissions.CONTACTS]: 'Your Contacts',
  [Permissions.CALENDAR]: 'Calendar',
  [Permissions.REMINDERS]: 'Reminders',
};

// Use a controlled prompt to ensure you retain access to the permission prompt.
// If the user rejects the controlled prompt, you can always prompt them again when they're ready.
// Otherwise you'll need to redirect the user to the system settings.
export async function controlledPromptAsync(permission, permissionReason, redirectReason) {
  const { status } = await Permissions.getAsync(permission);
  if (status === 'denied') {
    return requestAsync(permission, false, permissionReason || redirectReason);
  } else if (status === 'granted') {
    return true;
  }

  return new Promise(resolve => {
    Alert.alert(
      `Please Turn On ${PermissionName[permission]}`,
github expo / expo / apps / native-component-list / src / screens / CalendarsScreen.tsx View on Github external
_askForReminderPermissions = async () => {
    if (Platform.OS === 'android') return true;
    const response = await Permissions.askAsync(Permissions.REMINDERS);
    const granted = response.status === 'granted';
    this.setState({
      haveReminderPermissions: granted,
    });
    return granted;
  }
github expo / expo / apps / storybook / stories / APIs / Permissions.stories.jsx View on Github external
onPress={() =>
                this.invokePermissionsFunction(
                  ...[
                    Permissions.CAMERA,
                    Permissions.AUDIO_RECORDING,
                    Permissions.LOCATION,
                    Permissions.USER_FACING_NOTIFICATIONS,
                    Permissions.NOTIFICATIONS,
                    Permissions.CONTACTS,
                    Permissions.SYSTEM_BRIGHTNESS,
                    Permissions.CAMERA_ROLL,
                    Permissions.CALENDAR,
                    Permissions.REMINDERS,
                  ]
                )
              }
github slorber / gatsby-plugin-react-native-web / examples / uikits / src / components / expo / ExpoPermissionsExample.js View on Github external
import React, { useEffect, useState } from 'react'
import { Button, ScrollView, Text, View } from 'react-native'

import Example from '../example'

const permissions = [
  ['CAMERA', Permissions.CAMERA],
  ['AUDIO_RECORDING', Permissions.AUDIO_RECORDING],
  ['LOCATION', Permissions.LOCATION],
  ['USER_FACING_NOTIFICATIONS', Permissions.USER_FACING_NOTIFICATIONS],
  ['NOTIFICATIONS', Permissions.NOTIFICATIONS],
  ['CONTACTS', Permissions.CONTACTS],
  ['SYSTEM_BRIGHTNESS', Permissions.SYSTEM_BRIGHTNESS],
  ['CAMERA_ROLL', Permissions.CAMERA_ROLL],
  ['CALENDAR', Permissions.CALENDAR],
  ['REMINDERS', Permissions.REMINDERS],
]

export default function PermissionsExample() {
  return (
    
      
        {permissions.map(([permissionName, permissionType]) => (
github expo / expo / apps / native-component-list / src / screens / PermissionsScreen.tsx View on Github external
onPress={() =>
                this.invokePermissionsFunction(
                  ...([
                    Permissions.CAMERA,
                    Permissions.AUDIO_RECORDING,
                    Permissions.LOCATION,
                    Permissions.USER_FACING_NOTIFICATIONS,
                    Permissions.NOTIFICATIONS,
                    Permissions.CONTACTS,
                    Permissions.SYSTEM_BRIGHTNESS,
                    Permissions.CAMERA_ROLL,
                    Permissions.CALENDAR,
                    Permissions.REMINDERS,
                  ] as Permissions.PermissionType[])
                )
              }