Переглянути джерело

#9 Ask for permission for camera and location during run time or on first run

Alex Trofimov 5 роки тому
батько
коміт
59cd502f35
1 змінених файлів з 20 додано та 0 видалено
  1. 20 0
      App.js

+ 20 - 0
App.js

@@ -18,6 +18,7 @@ import {
     Dimensions,
     Alert,
     Appearance,
+    PermissionsAndroid,
 } from 'react-native';
 import { 
     View,
@@ -52,6 +53,23 @@ const TITLE = 'UNA.IO | Community Management System'; // homepage title
 const ONESIGNALAPPID = ''; // you can obtain one from https://onesignal.com/
 const PAYMENTS_CALLBACK = ''; // empty string means payment functionality is disabled
 
+const requestPermissions = async () => {
+    try {
+        const oGranted = await PermissionsAndroid.requestMultiple([
+            PermissionsAndroid.PERMISSIONS.CAMERA,
+            PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE,
+            PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION,
+            PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
+        ]);
+        
+        for (const [sKey, sValue] of Object.entries(oGranted)) {
+            console.log(`Permission - ${sKey}: ${sValue}`);
+        }
+    } catch (err) {
+        console.warn(err);
+    }
+};
+
 export default class App extends Component<Props> {
 
     loading = false;
@@ -484,6 +502,8 @@ export default class App extends Component<Props> {
             }); 
         }
 
+        requestPermissions();
+
         SplashScreen.hide();
     }