gpt4 book ai didi

android - Context.getSystemService 返回的哪个服务永远不会为空?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:14:52 40 4
gpt4 key购买 nike

Context.getSystemService 的文档州

Returns: The service or null if the name does not exist.

接受的名称列表列为

 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

假设我在 Activity 或服务中 onCreate 开始后的某个时刻将其中一个名称传递给 getSystemService,返回值是否会为 null?

如果是这样,是否有任何接受的名称将始终返回非空值,或者我是否需要对所有调用 getSystemService 的返回值进行空检查?

最佳答案

PackageManager.isInstantApp() 返回 true 的免安装应用无权访问以下系统服务:

DEVICE_POLICY_SERVICE,
FINGERPRINT_SERVICE,
SHORTCUT_SERVICE,
USB_服务,
WALLPAPER_SERVICE,
WIFI_P2P_SERVICE},
WIFI_SERVICE,
WIFI_AWARE_SERVICE。

对于这些服务,此方法将返回 null。通常,如果您作为免安装应用程序运行,则应始终检查此方法的结果是否为空。

并且由于 getSystemService() 方法被注释为 @Nullable,根据经验,我总是会检查 null :) .

关于android - Context.getSystemService 返回的哪个服务永远不会为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37468860/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com