도킹 상태와 유형 확인 및 모니터링

Android 지원 기기는 다양한 종류의 도크에 도킹할 수 있습니다. 이러한 차량용 도크, 홈 도크, 디지털 또는 아날로그 도크가 포함됩니다. 도크 상태는 많은 도크가 일반적으로 충전 상태와 밀접하게 연결되어 있으므로 도킹된 기기입니다.

앱은 도크 상태에서 휴대전화의 업데이트 속도에 영향을 미칩니다. 스포츠 뉴스 앱이 데스크톱 도크에 있을 때 업데이트 빈도 기기가 차량에 도킹되어 있다면 업데이트를 완전히 사용 중지하세요. 반대로 백그라운드 서비스가 업데이트 중인 경우 차량에 도킹되어 있을 때 업데이트 최대화 있습니다.

또한 도크 상태는 고정 Intent, 이 기능을 사용하면 기기가 도킹되어 있는지, 도킹되어 있다면 어떤 종류의 도크에 있는지 쿼리할 수 있습니다. 알 수 있습니다.

현재 도크 상태 확인

도크 상태 세부정보는 고정 브로드캐스트 <ph type="x-smartling-placeholder">ACTION_DOCK_EVENT</ph> 있습니다. 고정되어 있으므로 registerReceiver(), null를 broadcast receiver로 전달합니다. 다음 스니펫 이 프로세스를 완료하는 방법을 소개합니다.

Kotlin

val dockStatus: Intent? = IntentFilter(Intent.ACTION_DOCK_EVENT).let { ifilter ->
    context.registerReceiver(null, ifilter)
}

자바

IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
Intent dockStatus = context.registerReceiver(null, ifilter);

포드에서 현재 도크 상태를 추출할 수 추가 항목 EXTRA_DOCK_STATE개:

Kotlin

val dockState: Int = dockStatus?.getIntExtra(EXTRA_DOCK_STATE, -1) ?: -1
val isDocked: Boolean = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED

자바

int dockState -1;
if (dockStatus != null) {
  dockState = dockStatus.getIntExtra(EXTRA_DOCK_STATE, -1);
}
boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;

현재 도크 유형 확인

기기가 도킹되어 있는 경우 다음 네 가지 중 하나에 도킹할 수 있습니다. 여러 도크 유형:

  • 자동차
  • 데스크
  • 저사양 (아날로그) 데스크
  • 고급 (디지털) 데스크

마지막 두 가지 옵션은 Android API 수준 11에서만 도입되므로 오직 비즈니스에만 관심이 있는 경우 세 가지 데스크 유형을 모두 확인하는 것이 좋습니다. 도크 유형을 선택하는 것입니다.

Kotlin

val isCar: Boolean = dockState == EXTRA_DOCK_STATE_CAR
val isDesk: Boolean = dockState == EXTRA_DOCK_STATE_DESK
        || dockState == EXTRA_DOCK_STATE_LE_DESK
        || dockState == EXTRA_DOCK_STATE_HE_DESK

Java

boolean isCar = dockState == EXTRA_DOCK_STATE_CAR;
boolean isDesk = dockState == EXTRA_DOCK_STATE_DESK ||
                 dockState == EXTRA_DOCK_STATE_LE_DESK ||
                 dockState == EXTRA_DOCK_STATE_HE_DESK;