微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 开发者选项中指针位置勾选后 PointLocation的显示原理

开发者选项中指针位置勾选后 PointLocation的显示原理

时间:10-02 整理:3721RD 点击:
在设置》开发人员》指针位置,勾选显示指针位置的按钮,这时会有指针位置的十字线画出来,
去掉指针位置的勾选,十字线等位置信息消息,这个显示原理如下:
Step1:勾选显示指针位置的按钮,会改动
content://settings/system/pointer_location的值,
Step2: PhoneWindowManager中的Content Observer会监视到这个值的变化,调用onChange函数,
onChange内通过WMS的接口向系统添加或者删除PointerLocation Window。
PointerLocation有自己的Window。
如下图:


显示隐藏流程:
在PhoneWindowManager.java中管理的,
显示流程:
通过监视content://settings/system/pointer_location的变化,来决定是否要enablepointerLocaction.


发现变动后,就会通知enable或者disable pointer Location.
收到MSG_ENABLE_POINTER_LOCATION后,就会调用显示PointerLocation的函数:


显示函数如下:


隐藏流程与显示流程类似,是在发现content://settings/system/pointer_location
的值变为0后,发送一个MSG_DISABLE_POINTER_LOCATION的消息,在消息hanlder中
调用隐藏函数,按钮不勾选触发的隐藏函数如下:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top