1

I'm suddenly getting:

Fatal Exception: java.lang.SecurityException
[OBSERVE] User permission to READ is not acquired

for Samsung Digital Health - Health Data API:

HealthConstants.Exercise.HEALTH_DATA_TYPE,
HealthPermissionManager.PermissionType.READ

where it was working before. Anyone else have this issue?

More code:

final Set<HealthPermissionManager.PermissionKey> permissions = new HashSet<>();
permissions.add(new HealthPermissionManager.PermissionKey(
  HealthConstants.Exercise.HEALTH_DATA_TYPE, HealthPermissionManager.PermissionType.READ
));
healthDataStore = new HealthDataStore(context, new HealthDataStore.ConnectionListener() {
  @Override
  public void onConnected() {
    final HealthPermissionManager permissionManager = new HealthPermissionManager(healthDataStore);
    Map<HealthPermissionManager.PermissionKey, Boolean> resultMap = permissionManager.isPermissionAcquired(permissions);
    if (resultMap.containsKey(Boolean.FALSE)) {

    } else {

      scheduleSyncShealthTask();
      final HealthDataObserver observer = new HealthDataObserver(null) {
        @Override
        public void onChange(String s) {
          scheduleSyncShealthTask();
        }
      };

// crashes here:

      HealthDataObserver.addObserver(healthDataStore, HealthConstants.Exercise.HEALTH_DATA_TYPE, observer);
    }
  }
Andrew Arrow
  • 4,248
  • 9
  • 53
  • 80

0 Answers0