写在前面:本文所提供方法仅供研究学习,不可用于商业用途,转载请注明出处。
好,正文开始...
首先介绍下蓝牙HID设备,指市面上出售的可用于连接PC、Android的可输入设备,这类设备遵循了hid通信协议,可以用于输入操作(如按键、鼠标移动等),作为一个交互设备存在。
由于hid设备遵循的是其封装好的通信协议,数据流经过系统封装好的hid通道来进行传输的,因此我们无法直接获取到其原始输入数据。但在这次的研究过程中我发现了一种能够直接获取到其输入数据的方法,由于与本文关系不大,这里不再赘述。想了解hid设备原始数据获取的同学,可以移步我的另一篇博客 。
目的:蓝牙hid鼠标在连接到android手机上后会显示一个系统自带的鼠标,我们的需求是将该光标进行自定义(调整大小,形状,图片资源)。
这里有两种思路可以选择:
1.通过替换系统的鼠标图片资源来实现
2.完全隐藏系统鼠标,由自己的服务来绘制,这时候的自定义操作就相当简单了
工程最后采用的是第二种方法,不采用第一种思路的原因有很多,android4.0.3源码之鼠标光标绘制简略版 这篇博客里详细描述了android绘制鼠标的过程,简而言之,系统的鼠标图片是在资源文件打包了,并且在框架层framework中写死,android sdk没有提供任何开放的