| 12345678910111213141516171819202122232425262728293031323334 |
- import { Alert, PermissionsAndroid, Platform } from "react-native";
- /**
- * Requests all required Android permissions for the app.
- */
- export async function requestAndroidPermissions() {
- if (Platform.OS !== "android") return true;
- try {
- const permissions = [
- PermissionsAndroid.PERMISSIONS.CAMERA,
- PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION,
- PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION
- ];
- const granted = await PermissionsAndroid.requestMultiple(permissions);
- const allGranted = Object.values(granted).every(
- status => status === PermissionsAndroid.RESULTS.GRANTED
- );
- if (!allGranted) {
- Alert.alert(
- "Permissions required",
- "Some permissions were not granted. Certain features may not work."
- );
- }
- return allGranted;
- } catch (err) {
- console.warn("Failed to request permissions", err);
- return false;
- }
- }
|