返回:服务;如果名称不存在,则返回null。
可接受名称列表列为
ACTIVITY_SERVICE
ALARM_SERVICE
AUDIO_SERVICE
BATTERY_SERVICE
CARRIER_CONFIG_SERVICE
CONNECTIVITY_SERVICE
DOWNLOAD_SERVICE
INPUT_METHOD_SERVICE
JOB_SCHEDULER_SERVICE
KEYGUARD_SERVICE
LAYOUT_INFLATER_SERVICE
LOCATION_SERVICE
MEDIA_ROUTER_SERVICE
NETWORK_STATS_SERVICE
NOTIFICATION_SERVICE
POWER_SERVICE
SEARCH_SERVICE
SENSOR_SERVICE
STORAGE_SERVICE
TELEPHONY_SERVICE
TELEPHONY_SUBSCRIPTION_SERVICE
UI_MODE_SERVICE
VIBRATOR_SERVICE
WIFI_SERVICE
WINDOW_SERVICE
假设我在活动或服务中getSystemService
开始后的某个时刻将其中一个名称传递给onCreate
,返回值是否会为空?
如果是,是否有任何可接受的名称始终返回非空值,或者我是否需要空检查所有getSystemService
调用的返回值?
答案 0 :(得分:2)
PackageManager.isInstantApp()
返回true
的即时应用程序无权访问以下系统服务:
DEVICE_POLICY_SERVICE,
FINGERPRINT_SERVICE,
SHORTCUT_SERVICE,
USB_SERVICE,
WALLPAPER_SERVICE,
WIFI_P2P_SERVICE},
WIFI_SERVICE,
WIFI_AWARE_SERVICE.
对于这些服务,此方法将返回null
。
通常,如果您作为即时应用程序运行,则应始终检查此方法的结果是否为空。
并且由于getSystemService()
方法被注释为@Nullable
,根据经验,我将始终检查null
:)。