Skip to content

Most visited

Recently visited

navigation

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

Android 기기는 여러 가지 종류의 도크에 도킹할 수 있습니다. 여기에는 차량/홈 도크와 디지털/아날로그 도크가 포함됩니다. 많은 도크가 도킹된 기기에 전원을 제공하므로 통상 도킹 상태는 충전 상태와 밀접하게 연결되어 있습니다.

휴대폰의 도킹 상태가 업데이트 비율에 미치는 영향은 앱에 따라 다릅니다. 예컨대 데스크톱 도크에 있을 때는 스포츠 센터 앱의 업데이트 빈도를 높이고 기기가 차량에 도킹되어 있을 때는 업데이트를 완전히 비활성화할 수 있습니다. 반대로 백그라운드 서비스가 교통 상황을 업데이트 중이라면 차량에 도킹되어 있을 때 업데이트를 최대화할 수도 있습니다.

도킹 상태는 접착식 Intent로 브로드캐스팅되어서 기기가 도킹되어 있는지, 기기가 도킹되어 있다면 어떤 유형의 도크인지 쿼리할 수 있습니다.

현재 도킹 상태 확인

도킹 상태 세부정보는 ACTION_DOCK_EVENT 작업의 접착식 브로드캐스트에 엑스트라로 포함됩니다. 접착식이므로 BroadcastReceiver를 등록하지 않아도 됩니다. 다음 스니펫에서 보여주듯이 registerReceiver()를 호출하여 브로드캐스트 수신기로 null을 전달하면 됩니다.

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

EXTRA_DOCK_STATE 엑스트라에서 현재 도킹 상태를 추출할 수 있습니다.

int dockState = battery.getIntExtra(EXTRA_DOCK_STATE, -1);
boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;

현재 도크 유형 확인

기기가 도킹되어 있다면 네 가지 유형의 도크 중 하나에 도킹됩니다.

마지막 두 가지 옵션은 Android API 레벨 11에서만 도입되었습니다. 여러분은 도크 유형에만 관심이 있으므로 디지털인지 아날로그인지 구체적으로 확인하기보다는 세 가지를 모두 확인하는 것이 좋습니다.

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;

도크 상태 또는 유형 변화 모니터링

기기를 도킹하거나 도킹을 해제할 때마다 ACTION_DOCK_EVENT 작업이 브로드캐스트됩니다. 기기의 도크 상태 변화를 모니터링하려면 아래 스니펫과 같이 애플리케이션 매니페스트에서 브로드캐스트 수신기를 등록하면 됩니다.

<action android:name="android.intent.action.ACTION_DOCK_EVENT"/>

이전 단계에서 설명한 것과 같은 기술을 사용하여 수신기 구현 내에서 도크 유형과 상태를 추출할 수 있습니다.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

WeChat에서 Google Developers 팔로우하기

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)