Android 的volume服务主要是用来管理usb/sd卡等外部存储设备。平台可以对外部存储设备进行操作和轮询状态,当外部存储设备状态发生变化时,volume 服务也会即时报告平台。

相关代码主要位于:
system/core/vold
frameworks/base/services/java/com/android/server/MountListener.java
frameworks/base/services/java/com/android/server/MountService.java
frameworks/base/core/java/android/os/IMountService.aidl
hardware/libhardware_legacy/mount/IMountService.cpp
hardware/libhardware_legacy/include/hardware_legacy/IMountService.h

下图概述了这些组件之间的关系。但是没有搞清楚IMountService.h/cpp是干什么用的。

还有一点值得注意,MountService被一个Android内部类ServiceManager注册(SystemServer.java):
ServiceManager.addService("mount", new MountService(context))
以这种方式注册有名服务(named service),所注册的服务是一个实现了aidl产生的stub类的派生类,并不需要实现一个Service的派生类。ServiceManager仅供Android平台内部使用。

http://blog.sina.com.cn/s/blog_5e71b14f0100d1zp.html

更多相关文章

  1. Android平台一日游
  2. android利用websocket协议与服务器通信
  3. Android与JS之间跨平台异步调用实例详解
  4. Android的IPC机制(六)—— BroadcastReceiver的使用
  5. Android驱动(一)硬件访问服务学习之(一)Android通过JNI访问硬件
  6. Android(安卓)系统服务管家servicemanager启动过程详解
  7. Android启动脚本init.rc
  8. android L 启动流程
  9. Service深入分析

随机推荐

  1. android UI进阶之仿iphone的tab效果 (Andr
  2. Android(安卓)image的示例 拍照显示
  3. Unity3D调用android方法(非插件方式)
  4. Android札记【2】——系统的认识心中的An
  5. 自己动手写一个简单的Android下拉刷新
  6. Android(安卓)补间动画(动画列表,平移,旋转
  7. Android之崩溃日志管理(原创)
  8. android应用安全——签名机制
  9. android 面试(二)
  10. Android(安卓)操作系统的内存回收机制