android之插拔外设launcher小图标动态显示
来源:互联网 发布:但丁捏脸数据 编辑:程序博客网 时间:2024/05/01 15:28
当我们的设备插拔外设的时候,需要在UI上动态显示图标。比如,手机插入耳机会在UI上方显示耳机的小图标。
以下我们以camera设备为例:
系统会有一个CameraObserver服务,这个服务一直在后台跑用来监听kernel的Event事件
关于EventObserver.java是如何监听kernel的Event事件请参考
http://blog.csdn.net/darkengine/article/details/7442359
点击打开链接
CameraObserver.java监听到kernel的Event事件后做出处理:
if(event.get("ACTION").equals("add")){ Intent intent = new Intent(DeviceManagerEvent.Intent.ACTION_CAMERA_PLUG_IN); mContext.sendBroadcast(intent);//发送广播 mCameraList.put(event.get("DEVNAME",""), event.get("SUBSYSTEM","")); } else{ Intent intent = new Intent(DeviceManagerEvent.Intent.ACTION_CAMERA_PLUG_OUT); mContext.sendBroadcast(intent); mCameraList.remove(event.get("DEVNAME","")); }广播发出了,那么就需要launcher来接受广播显示小图标:CameraStatusbarBroadcast.java
@Overridepublic int onReceiverBroadCast(String action) {// TODO Auto-generated method stubif (DeviceManagerEvent.Intent.ACTION_CAMERA_PLUG_IN.equals(action)) {return 0;} else if (DeviceManagerEvent.Intent.ACTION_CAMERA_PLUG_OUT.equals(action)) {return 1;}return -1;}一切准备就绪,那么如何启动CameraObserver服务?
frameworks\base\services\java\com\android\server\SystemServer.java
import android.server.CameraObserver public void initAndLoop() { try { Slog.i(TAG, "Camera Observer"); // Listen for Camera changes Camera = new android.server.CameraObserver(context); } catch (Throwable e) { Slog.e(TAG, "Failure starting CameraObserver", e); } }这样在系统起来的时候,systemserver就会去启动CameraObserver服务,这个服务去监听摄像头热插拔事件,从而发送广使launcher动态显示小图标。
0 0
- android之插拔外设launcher小图标动态显示
- BugFix 2:状态栏显示耳机插拔图标
- Android在状态栏增加耳机拔插图标
- Android Launcher 之 图标加框 优化显示效果
- 动态检测设备拔插
- kitkat添加耳机插拔图标
- 广播监听USB和外设插拔状态
- android 监控usb插拔
- android耳机插拔事件
- Android 插拔sd广播
- 监控android USB拔插
- android 监控usb插拔
- android 监控usb插拔
- android 监听耳机插拔
- Android sdcard插拔事件
- Android 插拔sd广播
- android USB插拔检测
- android 耳机插拔流程
- java 代码生成器
- zhandoushi的专栏--自在空间
- leetcode 日经贴,Cpp code -Binary Tree Level Order Traversal II
- 坐实恋情?杨子父亲去世黄圣依戴孝渊博不是脑残粉,也不是抹黑粉。咱们就事说事情
- 从量化用户行为到影响行为—留存率
- android之插拔外设launcher小图标动态显示
- uva 10828 Back to Kernighan-Ritchie (高斯消元解概率问题)
- V4L2 获取和配置摄像头程序示例
- CSS定义超链接样式的顺序以及四个伪类的介绍
- 在新窗口打开链接的方法
- 泛型,字典
- 单向链表反转-java实现
- Linux就像一辆汽车
- 关于Android——level-list的调用