requestSamsungHealthDataPermissions method
Future<List<String> >
requestSamsungHealthDataPermissions({
- List<
StatisticsType> ? statisticTypes, - List<
MetricType> ? metricTypes, - List<
ActivityConfig> ? activityConfigs, - List<
SleepConfig> ? sleepConfigs,
Initiates the permission request flow with Samsung Health Data. This function will check for existing permissions and, if necessary, prompt the user to grant access to the required permissions.
Returns a list of permission names that the user granted access to.
statisticTypes - Array of statistic types for which to request permissions. Optional.
metricTypes - Array of metric types for which to request permissions. Optional.
activityConfigs - Array of activity configuration objects for which to request permissions. Optional.
sleepConfigs - Array of sleep configuration objects for which to request permissions. Optional.
Implementation
Future<List<String>> requestSamsungHealthDataPermissions({
List<StatisticsType>? statisticTypes,
List<MetricType>? metricTypes,
List<ActivityConfig>? activityConfigs,
List<SleepConfig>? sleepConfigs,
}) async {
if (!Platform.isAndroid) {
throw Exception('requestSamsungHealthDataPermissions method is only available on Android');
}
await enableSamsungHealthDataIntegration();
final result = await NativeSDKBridgeV3.requestPermissionsFromSamsungHealthData(
connectionId: connectionId,
statisticTypes: statisticTypes?.map((e) => e.toJson()).toList() ?? [],
metricTypes: metricTypes?.map((e) => e.toJson()).toList() ?? [],
activityConfigs: activityConfigs?.map((e) => jsonEncode(e.toJson())).toList() ?? [],
sleepConfigs: sleepConfigs?.map((e) => jsonEncode(e.toJson())).toList() ?? [],
);
ExceptionHandler.checkException(result);
return result;
}