단말용 프로그램을 개발하다 보면, 시스템 레벨의 서비스들을 제어해야 하는 경우가 있습니다.
이런 경우 Context 클래스의 getSystemService 라는 멤소드를 사용합니다.
이 메소드는 파라미터로 전달되는 name값에 따라서 시스템 레벨의 서비스를 제어할 수 있는 핸들을 리턴해 줍니다.
public abstract Object getSystemService (String name)
이 메소드는 파라미터로 어떤 값을 전달하느냐에 따라서 각기 다른 객체를 리턴해 줍니다. 그렇기 때문에 리턴형에서 알 수 있듯이 Object 형으로 리턴형이 선언되어 있습니다.
즉, 전달하는 파라미터에 따라서 원하는 클래스형으로 형변환을 해야 한다는 것을 의미합니다.
전달하는 파라미터는 String형으로 되어 있으며 이 값들은 Context 클래스에 상수로 정의되어 있습니다.
이 클래스에 전달할 수 있는 파라미터와 형변환 해야 하는 클래스를 정리해 보면 다음과 같습니다.
| 상수 | 값 | 용도 |
| WINDOW_SERVICE | "window" | The top-level window manager in which you can place custom windows. The returned object is a WindowManager. |
| LAYOUT_INFLATER_SERVICE | "layout_inflater" | A LayoutInflater for inflating layout resources in this context. |
| ACTIVITY_SERVICE | "activity" | A ActivityManager for interacting with the global activity state of the system. |
| POWER_SERVICE | "power" | A PowerManager for controlling power management. |
| ALARM_SERVICE | "alarm" | A AlarmManager for receiving intents at the time of your choosing. |
| NOTIFICATION_SERVICE | "notification" | A NotificationManager for informing the user of background events. |
| KEYGUARD_SERVICE | "keyguard" | A KeyguardManager for controlling keyguard. |
| LOCATION_SERVICE | "location" | A LocationManager for controlling location e.g., GPS updates. |
| SEARCH_SERVICE | "search" | A SearchManager for handling search. |
| VIBRATOR_SERVICE | "vibrator" | A Vibrator for interacting with the vibrator hardware. |
| CONNECTIVITY_SERVICE | "connection" | A ConnectivityManager for handling management of network connections. |
| WIFI_SERVICE | "wifi" | A WifiManager for management of Wi-Fi connectivity. |
| INPUT_METHOD_SERVICE | "input_method" | An InputMethodManager for management of input methods. |
| UI_MODE_SERVICE | "uimode" | An UiModeManager for controlling UI modes. |
| DOWNLOAD_SERVICE | "download" | A DownloadManager for requesting HTTP downloads |
'Android > Android API' 카테고리의 다른 글
| [안드로이드 API] 내장 동영상 재생기를 통한 동영상 스트리밍 (2) | 2011/10/11 |
|---|---|
| [안드로이드 API] 클립보드 기능 구현하기 (0) | 2011/07/25 |
| [안드로이드 API] getSystemService의 강력함 (0) | 2011/07/25 |
| Activity 가로, 세로 전환시의 문제점 (0) | 2011/07/11 |
| [안드로이드 API] 클립보드 사용하기 (0) | 2011/06/24 |
| [안드로이드 API] 화면 사이즈 얻어오기 (0) | 2011/06/19 |




댓글을 달아 주세요