checkMultiplePermissions method

  1. @override
Future<Map<String, String>> checkMultiplePermissions(
  1. List<String> permissions
)
override

Check status of multiple permissions

Implementation

@override
Future<Map<String, String>> checkMultiplePermissions(
  List<String> permissions,
) async {
  try {
    debugPrint('Checking multiple permissions: $permissions');

    // Filter out platform-specific permissions that aren't relevant
    List<String> platformPermissions =
        permissions.where((permission) {
          if (Platform.isIOS && permission.startsWith('android.')) {
            return false;
          }
          if (Platform.isAndroid && permission.startsWith('ios.')) {
            return false;
          }
          return true;
        }).toList();

    final result = await methodChannel.invokeMethod<Map<dynamic, dynamic>>(
      'checkMultiplePermissions',
      {'permissions': platformPermissions},
    );
    debugPrint('Multiple permissions result: $result');
    return result?.map(
          (key, value) => MapEntry(key.toString(), value.toString()),
        ) ??
        {};
  } on PlatformException catch (e) {
    debugPrint('Error checking multiple permissions: ${e.message}');
    return {};
  }
}