시작하기

권한과 백그라운드 수집

데이터가 기록되기 위해 필요한 권한과 실행 조건입니다.

기준일
이 페이지에서

수집 항목에 맞는 권한

권한은 연구의 수집 항목에 맞춰 확인합니다. manifest에 선언되었다는 사실만으로 사용자가 허용했거나 데이터가 수집된 것은 아닙니다.

용도확인할 권한·조건
위치ACCESS_FINE_LOCATION, 위치 서비스 상태
통신·통화 상태READ_PHONE_STATE
음성 응답RECORD_AUDIO
알림Android 버전에 따른 알림 허용, 채널 설정
정확한 일정정확한 알람 사용 가능 상태와 관련 설정
센서 foreground service서비스 유형 `health
Samsung Health삼성헬스가 제공하는 데이터 읽기 권한
Health Connect데이터 유형별 읽기 권한, 해당 기능의 기기 지원

Bluetooth·Wi-Fi 코드는 추가 권한을 사용하지만 현재 기본 센서 목록에는 포함되지 않습니다. 연구에서 활성화했다면 별도로 점검합니다.

백그라운드에서의 동작

센서 수집은 foreground service와 시작·재시작 경로를 사용합니다. 여러 수집기는 60,000ms 윈도우로 시작하지만, 이는 운영체제가 모든 상황에서 1분 간격 실행을 보장한다는 뜻이 아닙니다. Android에는 백그라운드 foreground service 시작 제한이 있습니다.

연구 기기에서 화면을 끈 상태, 앱을 백그라운드로 보낸 상태, 재부팅 이후를 확인하세요. 앱 강제 중지나 제조사 배터리 관리에 따른 실제 재개 여부는 기기별 검증이 필요합니다.

기록이 없을 때

  1. 수집 항목이 해당 연구 설정과 allowlist에 포함되어 있는지 확인합니다.
  2. 권한을 철회했거나 위치 서비스를 끄지 않았는지 확인합니다.
  3. 건강 기록은 Samsung Health 또는 Health Connect에 먼저 존재하는지 확인합니다.
  4. 센서 배치가 있어도 sampleCount가 0인지, payload가 실제 측정값을 포함하는지 확인합니다.
  5. 로컬 수집 문제와 서버 동기화 문제를 나누어 확인합니다.

참여자에게 설명할 내용

연구팀은 어떤 항목을 왜 수집하는지, 저장 위치, 참여 중지와 문의 방법을 연구별로 안내해야 합니다. 이 문서는 실제 동작을 설명하며, 별도의 동의서나 개인정보 처리방침을 대신하지 않습니다.

문서 근거

현재 작업 트리 기준 · 소스 경로 · HEAD 8213e6b7

  • app/src/main/AndroidManifest.xml
  • plugins/sensor/src/main/AndroidManifest.xml
  • plugins/sensor/src/main/java/com/hdil/datacollection/plugins/sensor/SensorPermissionHelper.kt
  • plugins/sensor/src/main/java/com/hdil/datacollection/plugins/sensor/foreground/SensorForegroundService.kt
  • plugins/sensor/src/main/java/com/hdil/datacollection/plugins/sensor/auto/SensorAutoCollectorStarter.kt

참고 자료

DTRAC Android연세대학교 · 이봉신 연구팀