Wi-Fi 기본 네트워크 오프로드 검사

Wi-Fi 기본 네트워크 오프로드(PNO) 검사는 기기의 Wi-Fi 연결이 해제되고 화면이 꺼질 때 정기적으로 발생하는 저전력 Wi-Fi 검사입니다. PNO 검사는 저장된 네트워크를 찾아 연결하는 데 사용됩니다. 이러한 검사는 프레임워크에서 NL80211_CMD_START_SCHED_SCAN 명령어를 사용하여 예약됩니다. 자세한 내용은 nl80211.h를 참조하세요.

기기 이동성 정보로 전력 사용 최적화

Android 9 이하를 실행하는 기기에서 기기의 Wi-Fi 연결이 해제되고 화면이 꺼지면 처음 3회 검사에서는 20초 간격으로 PNO 검사가 발생하고 모든 후속 검사에서는 60초당 1회로 줄어듭니다. 저장된 네트워크를 찾거나 화면이 켜지면 PNO 검사가 중지됩니다.

Android 10의 WifiManager에는 전력 소비를 줄이기 위해 기기의 이동성 상태에 따라 PNO 검사 간의 간격을 늘리는 setDeviceMobilityState()라는 선택적 API 메서드가 도입되었습니다.

가능한 이동성 상태는 다음과 같습니다.

  • DEVICE_MOBILITY_STATE_UNKNOWN: 이동성을 알 수 없음
  • DEVICE_MOBILITY_STATE_HIGH_MVMT: 자전거 또는 자동차 사용
  • DEVICE_MOBILITY_STATE_LOW_MVMT: 걷기 또는 달리기
  • DEVICE_MOBILITY_STATE_STATIONARY: 이동하지 않음

기기가 정지 상태인 경우 Android 프레임워크는 60초에서 180초로 PNO 검사 간격을 늘려 전력 소비를 줄입니다. 기기가 움직이지 않을 때는 PNO 검사에서 새 네트워크를 찾지 않을 것이라는 가정하에 이러한 최적화가 이루어집니다.

기기가 다른 이동성 상태에 있거나 메서드가 호출되지 않으면 기기는 기본 PNO 검사 동작을 사용합니다.

구현

Android 10 이상을 실행하는 기기에서 이러한 전원 최적화 기능을 구현하려면 기기 이동성 정보를 가져오고 맞춤 시스템 앱에서 setDeviceMobilityState() 메서드를 호출합니다.