ICS g-sensor,light sensor移植记录

原创 2012年03月22日 15:30:16

最近有在移植ICS的sensor,接近传感器主要涉及文件及重要函数移植

1.device/samsung/crespo/libsensors

2.PowerManagerService.java,userActivity()

3.PhoneApp.java,updateProximitySensorMode()

4.Cm3605.c

5.init.rc


G-Sensor主要涉及到的过程

1.首先要了解orientation Sensor设置的入口。
 DisplaySettings.java中。
 ->onPreferenceTreeClick()会启动一个服务。调用PhoneWindowManager.java
 在PhoneWindowManager.java中有
 SettingsObserver类,会监听settings。当发现状态改变时,会
 ->updateSettings()->updateOrientationListenerLp()->needSensorRunningLp()(当应用程序禁止旋转时,就不会旋转)
2.当允许开启orientation sensor时。此时,会注册一个MyOrientationListener来监听旋转方向。
在WindowOrientationListener.java中监听java的值。对旋转方向判断。
 ->onSensorChanged()->onProposedRotationChanged()
3.PhoneWindowManager.java中有MyOrientationListener.onProposedRotationChanged()来监听上面的变化。
 ->updateRotation(false)
4.WindowManagerService.java中。
 ->updateRotation()->updateRotationUnchecked()->sendNewConfiguration()
5.ActivityManagerService.java中。
 ->updateConfiguration()->updateConfigurationLocked()
 
 当操作系统启动后,WindowManagerService.java中ENABLE_SCREEN
 ->performEnableScreen()->mPolicy.enableScreenAfterBoot()


Light sensor主要涉及文件

framework/base/core/res/res/values/config.xml

<bool name="config_automatic_brightness_available">true</bool>
……
<integer-array name="config_autoBrightnessLevels">
<item>40</item>
<item>300</item>
<item>400</item>
<item>700</item>
</integer-array>
……

<integer-array name="config_autoBrightnessLevels">
<item>50</item>
<item>100</item>
<item>160</item>
<item>200</item>
<item>250</item>
</integer-array>

在framework/base/services/java/com/android/server/PowerManagerService.java

lightSensorChangedLocked()函数中修改

int lcdValue = getAutoBrightnessValue(
                        (true/*mIsDocked*/ ? value : mHighestLightSensorValue),
                        mLcdBacklightValues);

手机传感器-G-Sensor

1. 简介 手机传感器介绍手机传感器检测安卓手机上所有可用感应器,并通过图像生动的展示它们是如何运作的。手机传感器也能够识别该手机硬件支持哪些传感器,并提供对我们日常生活起着重要作用的传感工具。手机传...
  • MyArrow
  • MyArrow
  • 2013年06月08日 17:00
  • 11732

android 光线传感器 light sensor的使用

调用anroid的光线传感器使用。 MainActivity.java package hk.ust.cse.comp107x.ligthsensor; import a...
  • yangshuolll
  • yangshuolll
  • 2016年09月24日 11:31
  • 1358

G-sensor的抖动问题

20130108 G-sensor的抖动问题: 现象:当手机在桌面静止的时候,测试应用显示z轴报点为10左右,但会频繁出现-10。x和y轴也有这个现象。用测试应用绘制曲线图发现数据完全不平滑,高概...
  • coder_jack
  • coder_jack
  • 2013年02月02日 16:37
  • 1582

sensor的校准

前提:mtk平台下的手机sensor 我们驱动移植sensor,代码移植完成,编译ok,接下来就是来验证sensor是否能够正常的工作,这也是我们移植的最终目的。好,那么问题来了,我们怎么验证它呢。...
  • u011568383
  • u011568383
  • 2017年11月17日 10:34
  • 95

Android6.0 Sensor架构和问题分析

本文在借鉴网友的资料后再重新梳理了一遍,都是站在前人的基础、巨人的肩膀上再次总结分析出来的,仅供大家参考! 本文主要描述了在Android 6.0系统、MTK6755平台上sensor相关软硬件...
  • cgx090902
  • cgx090902
  • 2016年09月03日 11:07
  • 3296

android-5.0 sensor工作原理—Sensor APP数据的获取

Sensor app开发一般会包含五步: 1. 获取sensor manager对象; mSensorManager = (SensorManager)getSystemService(SENSOR...
  • zsj100213
  • zsj100213
  • 2015年09月21日 20:34
  • 2677

Sensor 代码流程分析

本文针对Android 2.3 版本的sensor从应用到hal层接口进行逐层分析。4.0的代码也拿到了,不过还没有来得及进行分析。 一、应用程序,一般的应用程序写法: package...
  • u010164190
  • u010164190
  • 2017年01月14日 17:54
  • 132

深入浅出 - Android系统移植与平台开发(十三) - Sensor HAL框架分析之三

让我们来看看SensorManager的代码 SensorManager框架层代码 @frameworks/base/core/java/android/hardware/Sens...
  • angle_birds
  • angle_birds
  • 2014年09月24日 17:16
  • 868

Sensor系列二 HAL层分析

一、HAL层入口          hal层主要是调用驱动接口,获取sensor驱动中传输上来的数据,提供给上层接口,屏蔽底层的细节, 具有承上启下的作用,将android系统分成了用户空间和...
  • frank_zyp
  • frank_zyp
  • 2016年12月12日 14:24
  • 1108

航信三大系统ICS DCS CRS

转自:http://blog.sina.com.cn/s/blog_6d719f37010191m1.html 什么是GDS,全称是Global DistributionSystem...
  • u010050174
  • u010050174
  • 2015年10月10日 14:37
  • 2204
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ICS g-sensor,light sensor移植记录
举报原因:
原因补充:

(最多只允许输入30个字)