android修改重力感应方向
在这里简要的为大家介绍一下我曾经改过android手机重力感应的一点知识。。。
首先,大家要android手机重力感应,那么必须得有你自己机器的源代码吧,
开始在网上找到蛮多资料,但是按其所说并不能实现,后经自己摸索,找到一个能是重力感应与本身相反的方法。
要修改android手机重力感应,那么你当然要找到重力感应在那个模块里
找到frameworks/base/core/java/android/view/WindowOrientationListener.java
找到其中的nSensorChanged方法,如下:
public void onSensorChanged(SensorEvent event) {
// the vector given in the SensorEvent points straight up (towards the sky) under ideal
// conditions (the phone is not accelerating). i'll call this upVector elsewhere.
//xiugai by xxnan 2012-9-13
本来源码里的event.values[_DATA_X]是正的,
你将它该为负之后就是我们经常看到倒的屏幕
float x = -event.values[_DATA_X];
float y = -event.values[_DATA_Y];
float z = -event.values[_DATA_Z];
//xiugai by xxnan 2012-9-13
float magnitude = vectorMagnitude(x, y, z);
float deviation = Math.abs(magnitude - SensorManager.STANDARD_GRAVITY);
。。。。。。
最后肯定是编译framework的base啦,
生成的就在out下的system/framework/framework.jar
更多相关文章
- 将写好的软件安装到Android手机
- Android 教程之实现动作感应技术
- 小米手机十月份会有原生 Android 2.3.5 供下载,明年一月推出 4.0
- 从性能角度选购Adroid智能手机,双核、大屏与游戏的取舍
- android 获取当前手机的 DHCP 信息ip,server 等
- [置顶] android调用.net的webservice的例子获取手机的归属地
- Android获取手机中的所有音乐地址
- Android app 判断是手机还是平板
- Android初级教程调用手机拍照与摄像功能