Context.GetSystemService Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
| GetSystemService(String) |
Return the handle to a system-level service by name. |
| GetSystemService(Class) |
Return the handle to a system-level service by class. |
GetSystemService(String)
Return the handle to a system-level service by name.
[Android.Runtime.Register("getSystemService", "(Ljava/lang/String;)Ljava/lang/Object;", "GetGetSystemService_Ljava_lang_String_Handler")]
public abstract Java.Lang.Object? GetSystemService(string name);
[<Android.Runtime.Register("getSystemService", "(Ljava/lang/String;)Ljava/lang/Object;", "GetGetSystemService_Ljava_lang_String_Handler")>]
abstract member GetSystemService : string -> Java.Lang.Object
Parameters
- name
- String
The name of the desired service.
Returns
The service or null if the name does not exist.
- Attributes
Remarks
Return the handle to a system-level service by name. The class of the returned object varies by the requested name. Currently available names are:
<dl> <dt> #WINDOW_SERVICE ("window") <dd> The top-level window manager in which you can place custom windows. The returned object is a android.view.WindowManager. Must only be obtained from a visual context such as Activity or a Context created with #createWindowContext(int, Bundle), which are adjusted to the configuration and visual bounds of an area on screen. <dt> #LAYOUT_INFLATER_SERVICE ("layout_inflater") <dd> A android.view.LayoutInflater for inflating layout resources in this context. Must only be obtained from a visual context such as Activity or a Context created with #createWindowContext(int, Bundle), which are adjusted to the configuration and visual bounds of an area on screen. <dt> #ACTIVITY_SERVICE ("activity") <dd> A android.app.ActivityManager for interacting with the global activity state of the system. <dt> #WALLPAPER_SERVICE ("wallpaper") <dd> A android.service.wallpaper.WallpaperService for accessing wallpapers in this context. Must only be obtained from a visual context such as Activity or a Context created with #createWindowContext(int, Bundle), which are adjusted to the configuration and visual bounds of an area on screen. <dt> #POWER_SERVICE ("power") <dd> A android.os.PowerManager for controlling power management. <dt> #ALARM_SERVICE ("alarm") <dd> A android.app.AlarmManager for receiving intents at the time of your choosing. <dt> #NOTIFICATION_SERVICE ("notification") <dd> A android.app.NotificationManager for informing the user of background events. <dt> #KEYGUARD_SERVICE ("keyguard") <dd> A android.app.KeyguardManager for controlling keyguard. <dt> #LOCATION_SERVICE ("location") <dd> A android.location.LocationManager for controlling location (e.g., GPS) updates. <dt> #SEARCH_SERVICE ("search") <dd> A android.app.SearchManager for handling search. <dt> #VIBRATOR_MANAGER_SERVICE ("vibrator_manager") <dd> A android.os.VibratorManager for accessing the device vibrators, interacting with individual ones and playing synchronized effects on multiple vibrators. <dt> #VIBRATOR_SERVICE ("vibrator") <dd> A android.os.Vibrator for interacting with the vibrator hardware. <dt> #CONNECTIVITY_SERVICE ("connectivity") <dd> A android.net.ConnectivityManager ConnectivityManager for handling management of network connections. <dt> #IPSEC_SERVICE ("ipsec") <dd> A android.net.IpSecManager IpSecManager for managing IPSec on sockets and networks. <dt> #WIFI_SERVICE ("wifi") <dd> A android.net.wifi.WifiManager WifiManager for management of Wi-Fi connectivity. On releases before Android 7, it should only be obtained from an application context, and not from any other derived context to avoid memory leaks within the calling process. <dt> #WIFI_AWARE_SERVICE ("wifiaware") <dd> A android.net.wifi.aware.WifiAwareManager WifiAwareManager for management of Wi-Fi Aware discovery and connectivity. <dt> #WIFI_P2P_SERVICE ("wifip2p") <dd> A android.net.wifi.p2p.WifiP2pManager WifiP2pManager for management of Wi-Fi Direct connectivity. <dt> #INPUT_METHOD_SERVICE ("input_method") <dd> An android.view.inputmethod.InputMethodManager InputMethodManager for management of input methods. <dt> #UI_MODE_SERVICE ("uimode") <dd> An android.app.UiModeManager for controlling UI modes. <dt> #DOWNLOAD_SERVICE ("download") <dd> A android.app.DownloadManager for requesting HTTP downloads <dt> #BATTERY_SERVICE ("batterymanager") <dd> A android.os.BatteryManager for managing battery state <dt> #JOB_SCHEDULER_SERVICE ("taskmanager") <dd> A android.app.job.JobScheduler for managing scheduled tasks <dt> #NETWORK_STATS_SERVICE ("netstats") <dd> A android.app.usage.NetworkStatsManager NetworkStatsManager for querying network usage statistics. <dt> #HARDWARE_PROPERTIES_SERVICE ("hardware_properties") <dd> A android.os.HardwarePropertiesManager for accessing hardware properties. <dt> #DOMAIN_VERIFICATION_SERVICE ("domain_verification") <dd> A android.content.pm.verify.domain.DomainVerificationManager for accessing web domain approval state. <dt> #DISPLAY_HASH_SERVICE ("display_hash") <dd> A android.view.displayhash.DisplayHashManager for management of display hashes. <dt> #AUTHENTICATION_POLICY_SERVICE ("authentication_policy") <dd> A android.security.authenticationpolicy.AuthenticationPolicyManager for managing authentication related policies on the device. </dl>
Note: System services obtained via this API may be closely associated with the Context in which they are obtained from. In general, do not share the service objects between various different contexts (Activities, Applications, Services, Providers, etc.)
Note: Instant apps, for which PackageManager#isInstantApp() returns true, don't have access to the following system services: #DEVICE_POLICY_SERVICE, #FINGERPRINT_SERVICE, #KEYGUARD_SERVICE, #SHORTCUT_SERVICE, #USB_SERVICE, #WALLPAPER_SERVICE, #WIFI_P2P_SERVICE, #WIFI_SERVICE, #WIFI_AWARE_SERVICE. For these services this method will return null. Generally, if you are running as an instant app you should always check whether the result of this method is null.
Note: When implementing this method, keep in mind that new services can be added on newer Android releases, so if you're looking for just the explicit names mentioned above, make sure to return null when you don't recognize the name — if you throw a RuntimeException exception instead, your app might break on new Android releases.
Java documentation for android.content.Context.getSystemService(java.lang.String).
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
See also
- WindowService
- IWindowManager
- LayoutInflaterService
- LayoutInflater
- ActivityService
- ActivityManager
- PowerService
- PowerManager
- AlarmService
- AlarmManager
- NotificationService
- NotificationManager
- KeyguardService
- KeyguardManager
- LocationService
- LocationManager
- SearchService
- SearchManager
- SensorService
- SensorManager
- StorageService
- StorageManager
- VibratorService
- Vibrator
- ConnectivityService
- ConnectivityManager
- WifiService
- WifiManager
- AudioService
- AudioManager
- MediaRouterService
- MediaRouter
- TelephonyService
- TelephonyManager
- TelephonySubscriptionService
- SubscriptionManager
- CarrierConfigService
- CarrierConfigManager
- InputMethodService
- InputMethodManager
- UiModeService
- UiModeManager
- DownloadService
- DownloadManager
- BatteryService
- BatteryManager
- JobSchedulerService
- JobScheduler
- NetworkStatsService
- NetworkStatsManager
Applies to
GetSystemService(Class)
Return the handle to a system-level service by class.
[Android.Runtime.Register("getSystemService", "(Ljava/lang/Class;)Ljava/lang/Object;", "", ApiSince=23)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public Java.Lang.Object? GetSystemService(Java.Lang.Class serviceClass);
[<Android.Runtime.Register("getSystemService", "(Ljava/lang/Class;)Ljava/lang/Object;", "", ApiSince=23)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
member this.GetSystemService : Java.Lang.Class -> Java.Lang.Object
Parameters
- serviceClass
- Class
The class of the desired service.
Returns
The service or null if the class is not a supported system service. Note:
<b>never</b> throw a RuntimeException if the name is not supported.
- Attributes
Remarks
Return the handle to a system-level service by class.
Currently available classes are: android.view.WindowManager, android.view.LayoutInflater, android.app.ActivityManager, android.os.PowerManager, android.app.AlarmManager, android.app.NotificationManager, android.app.KeyguardManager, android.location.LocationManager, android.app.SearchManager, android.os.Vibrator, android.net.ConnectivityManager, android.net.wifi.WifiManager, android.media.AudioManager, android.media.MediaRouter, android.telephony.TelephonyManager, android.telephony.SubscriptionManager, android.view.inputmethod.InputMethodManager, android.app.UiModeManager, android.app.DownloadManager, android.os.BatteryManager, android.app.job.JobScheduler, android.app.usage.NetworkStatsManager, android.content.pm.verify.domain.DomainVerificationManager, android.view.displayhash.DisplayHashManagerandroid.security.authenticationpolicy.AuthenticationPolicyManager.
Note: System services obtained via this API may be closely associated with the Context in which they are obtained from. In general, do not share the service objects between various different contexts (Activities, Applications, Services, Providers, etc.)
Note: Instant apps, for which PackageManager#isInstantApp() returns true, don't have access to the following system services: #DEVICE_POLICY_SERVICE, #FINGERPRINT_SERVICE, #KEYGUARD_SERVICE, #SHORTCUT_SERVICE, #USB_SERVICE, #WALLPAPER_SERVICE, #WIFI_P2P_SERVICE, #WIFI_SERVICE, #WIFI_AWARE_SERVICE. For these services this method will return null. Generally, if you are running as an instant app you should always check whether the result of this method is null.
Java documentation for android.content.Context.getSystemService(java.lang.Class<T>).
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.