Context.GetSystemService Method
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.
GetSystemService(Class) |
Return the handle to a system-level service by class. |
GetSystemService(String) |
Return the handle to a system-level service by name. |
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.DisplayHashManager
.
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.
Applies to
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. </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