1
0

android-permissins-request.ts 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. import { Alert, PermissionsAndroid, Platform } from "react-native";
  2. /**
  3. * Requests all required Android permissions for the app.
  4. */
  5. export async function requestAndroidPermissions() {
  6. if (Platform.OS !== "android") return true;
  7. try {
  8. const permissions = [
  9. PermissionsAndroid.PERMISSIONS.CAMERA,
  10. PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION,
  11. PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
  12. ];
  13. const granted = await PermissionsAndroid.requestMultiple(permissions);
  14. const allGranted = Object.values(granted).every(
  15. status => status === PermissionsAndroid.RESULTS.GRANTED
  16. );
  17. if (!allGranted) {
  18. Alert.alert(
  19. "Permissions required",
  20. "Some permissions were not granted. Certain features may not work."
  21. );
  22. }
  23. return allGranted;
  24. } catch (err) {
  25. console.warn("Failed to request permissions", err);
  26. return false;
  27. }
  28. }