欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > Android 系统服务(System Services)

Android 系统服务(System Services)

2025/6/22 16:28:57 来源:https://blog.csdn.net/du29571/article/details/148761503  浏览:    关键词:Android 系统服务(System Services)

在 Android 系统中,系统服务(System Services) 是指由 system_server 进程启动并管理的一系列核心服务,负责处理 Android 应用与系统资源之间的交互。这些服务提供了对硬件、应用生命周期、UI、安全、网络等的统一管理和调度。


🧠 一、主要系统服务分类

1. AMS(ActivityManagerService)

  • 作用: 管理四大组件(Activity、Service、BroadcastReceiver、ContentProvider)的生命周期和任务栈。
  • 常见功能:
    • 启动/停止 Activity 和 Service
    • 管理任务栈(Task)
    • 广播发送与接收控制
    • 用户切换与多用户支持
  • AIDL 接口: IActivityManager

2. PMS(PackageManagerService)

  • 作用: 负责 APK 的安装、卸载、权限管理以及包信息查询。
  • 常见功能:
    • 安装/卸载 APK
    • 查询已安装包名、权限、签名等
    • 权限授予/撤销
    • 获取组件信息(如 ActivityInfo、ApplicationInfo)
  • AIDL 接口: IPackageManager

3. WMS(WindowManagerService)

  • 作用: 管理窗口层级、布局、焦点、动画等 UI 相关操作。
  • 常见功能:
    • 添加/移除窗口
    • 设置窗口属性(如大小、位置)
    • 处理窗口焦点切换
    • 管理屏幕旋转
  • 相关类: IWindowManager, WindowManagerPolicy

4. IMS(InputMethodManagerService)

  • 作用: 管理输入法(IME)的显示、隐藏、切换等行为。
  • 常见功能:
    • 显示/隐藏软键盘
    • 输入法切换
    • 输入法绑定到 EditText
  • 相关类: IInputMethodManager

5. SMS(SensorManagerService)

  • 作用: 管理传感器(加速度计、陀螺仪、光线传感器等)的数据采集与分发。
  • 常见功能:
    • 注册/注销传感器监听器
    • 获取传感器数据
    • 控制传感器采样频率
  • 相关类: ISensorManager

6. VMS(VibratorService)

  • 作用: 控制设备震动。
  • 常见功能:
    • 触发震动
    • 停止震动
  • 相关类: IVibratorService

7. LMS(LocationManagerService)

  • 作用: 提供基于 GPS/WiFi 的定位服务。
  • 常见功能:
    • 请求位置更新
    • 注册/注销监听器
    • 获取最后已知位置
  • 相关类: ILocationManager

8. AMS(AudioManagerService)

  • 作用: 管理音频播放、音量调节、音频模式切换等。
  • 常见功能:
    • 音量调节
    • 静音控制
    • 音频焦点分配
  • 相关类: IAudioService

9. DMS(DisplayManagerService)

  • 作用: 管理显示设备(主屏、外接显示器)的状态与配置。
  • 常见功能:
    • 获取当前显示设备信息
    • 控制休眠/唤醒
    • 屏幕亮度调节
  • 相关类: IDisplayManager

10. SMS(SurfaceFlinger / DisplayConfig)

  • 作用: 图像合成服务,将多个图层合成为最终图像输出到屏幕上。
  • 常见功能:
    • 图像渲染优化
    • Surface 缓冲区管理
    • 显示帧率同步
  • 相关类: SurfaceComposerClient, IGraphicBufferProducer

11. AlarmManagerService

  • 作用: 管理定时任务(闹钟),即使应用退出也能执行。
  • 常见功能:
    • 设置一次性或重复性定时任务
    • 在特定时间触发广播或服务
  • 相关类: IAlarmManager

12. BatteryService / BatteryStatsService

  • 作用: 管理电池状态、电量统计、耗电分析。
  • 常见功能:
    • 获取当前电量
    • 统计各应用耗电情况
    • 判断是否处于充电状态
  • 相关类: IBatteryPropertiesRegistrar, IBatteryStats

13. NotificationManagerService

  • 作用: 管理通知的创建、展示、取消等。
  • 常见功能:
    • 发送通知
    • 清除通知
    • 管理通知渠道
  • 相关类: INotificationManager

14. PowerManagerService

  • 作用: 管理电源状态(亮屏、灭屏、休眠等)。
  • 常见功能:
    • 获取 WakeLock 锁
    • 控制屏幕开关
    • 检测设备是否进入休眠
  • 相关类: IPowerManager

15. TelephonyRegistry / TelecomManager

  • 作用: 管理电话通信(通话、短信、SIM 卡状态等)。
  • 常见功能:
    • 监听通话状态
    • 获取 SIM 卡信息
    • 拨打电话、发送短信
  • 相关类: ITelephony, ITelecomService

16. CameraService

  • 作用: 管理相机硬件访问。
  • 常见功能:
    • 打开/关闭相机
    • 控制摄像头参数
    • 获取相机特性
  • 相关类: ICameraService, ICameraDevice

17. AccessibilityManagerService

  • 作用: 提供无障碍服务(如 TalkBack、自动点击等)。
  • 常见功能:
    • 注册无障碍服务
    • 模拟点击、滑动操作
    • 监听 UI 元素变化
  • 相关类: IAccessibilityManager, IAccessibilityInteractionConnection

18. JobSchedulerService / JobScheduler

  • 作用: 管理后台任务的执行策略(延迟、网络条件等)。
  • 常见功能:
    • 安排周期性任务
    • 根据网络、充电状态执行任务
  • 相关类: IJobScheduler

19. DropBoxManagerService

  • 作用: 收集系统日志、崩溃信息,用于调试。
  • 常见功能:
    • 添加日志条目
    • 查看历史日志
  • 相关类: IDropBoxManager

20. AccountManagerService

  • 作用: 管理用户账户(Google、Facebook 等)。
  • 常见功能:
    • 添加/删除账户
    • 获取账户认证令牌
  • 相关类: IAccountManager

📚 二、系统服务调用方式

方式描述
ServiceManager.getService(String name)通过名称获取系统服务的 IBinder
Context.getSystemService(String name)从 Context 中获取服务实例
Binder.getService(IBinder binder)将 IBinder 转换为接口对象

示例:

// 获取 ActivityManagerService
IActivityManager am = ActivityManager.getService();// 获取 PackageManagerService
IPackageManager pm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));

🔐 三、系统服务调用权限说明

部分系统服务需要特殊权限才能访问,例如:

权限用途
android.permission.DUMP可以 dump 系统服务状态
android.permission.INTERACT_ACROSS_USERS跨用户操作
android.permission.PACKAGE_USAGE_STATS使用 UID 状态观察者
android.Manifest.permission.SET_ANIMATION_SCALE修改动画缩放
android.Manifest.permission.SHUTDOWN关机权限

📌 四、常用系统服务名称列表(service_manager 中注册)

服务名对应服务类
activityActivityManagerService
packagePackageManagerService
windowWindowManagerService
input_methodInputMethodManagerService
powerPowerManagerService
locationLocationManagerService
vibratorVibratorService
alarmAlarmManagerService
notificationNotificationManagerService
telephony.registryTelephonyRegistry
displayDisplayManagerService
sensorserviceSensorService
audioAudioService
batterystatsBatteryStatsService
cameraserviceCameraService
accessibilityAccessibilityManagerService
job_schedulerJobSchedulerService
dropboxDropBoxManagerService
accountAccountManagerService

✅ 五、总结表格

服务名Java 类AIDL 接口主要功能
activityActivityManagerServiceIActivityManager管理 Activity 生命周期
packagePackageManagerServiceIPackageManager包安装、卸载、查询
windowWindowManagerServiceIWindowManager管理窗口与显示
input_methodInputMethodManagerServiceIInputMethodManager输入法管理
powerPowerManagerServiceIPowerManager电源管理
locationLocationManagerServiceILocationManager定位服务
vibratorVibratorServiceIVibratorService震动控制
alarmAlarmManagerServiceIAlarmManager定时任务
notificationNotificationManagerServiceINotificationManager通知管理
telephony.registryTelephonyRegistryITelephony电话服务
displayDisplayManagerServiceIDisplayManager显示管理
sensorserviceSensorServiceISensorManager传感器管理
audioAudioServiceIAudioService音频管理
batterystatsBatteryStatsServiceIBatteryStats电池统计
cameraserviceCameraServiceICameraService相机管理
accessibilityAccessibilityManagerServiceIAccessibilityManager无障碍服务
job_schedulerJobSchedulerServiceIJobScheduler后台任务调度
dropboxDropBoxManagerServiceIDropBoxManager日志收集
accountAccountManagerServiceIAccountManager账户管理

如需进一步了解某个服务的具体使用方法或源码实现,可以参考 Android 开源项目(AOSP)中的以下路径:

frameworks/base/services/core/java/com/android/server/

或查看对应的 AIDL 接口文件,如:

frameworks/base/core/java/android/app/IActivityManager.aidl
frameworks/base/core/java/android/content/pm/IPackageManager.aidl

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词