Android init 实战项目
1. 实战:开机自启动定制服务
- 可以监听热插拔设备的插入与删除,并执行相应的处理
- 可以监听系统按键输入,并执行相应的业务逻辑
- 可以监听属性的变化 vendor.device.monitor.status,并控制服务的运行与停止
2. 源码编写
- 监听 /dev/input
使用 inotify 监听 /dev/input 目录,捕获输入设备的新增和移除 - 处理输入事件
从设备文件中读取 input_event,根据 event.type 和 event.code 解析输入事件类型(按键、触摸、鼠标等) - 动态管理设备文件描述符
设备新增时,动态添加到 epoll
设备移除时,动态删除设备对应的文件描述符
main.cpp
#include <dirent.h> // 操作目录(opendir/readdir/closedir)