android修改重力感应方向
在這里簡要的為大家介紹一下我曾經(jīng)改過android手機(jī)重力感應(yīng)的一點(diǎn)知識(shí)。。。
??????
???? 首先,大家要android手機(jī)重力感應(yīng),那么必須得有你自己機(jī)器的源代碼吧,
??? 開始在網(wǎng)上找到蠻多資料,但是按其所說并不能實(shí)現(xiàn),后經(jīng)自己摸索,找到一個(gè)能是重力感應(yīng)與本身相反的方法。
????
???
???? 要修改android手機(jī)重力感應(yīng),那么你當(dāng)然要找到重力感應(yīng)在那個(gè)模塊里
??? 找到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]是正的,
你將它該為負(fù)之后就是我們經(jīng)常看到倒的屏幕
?????????? 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
總結(jié)
以上是生活随笔為你收集整理的android修改重力感应方向的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 几分钟教你轻松搞定ALM安装
- 下一篇: android 程序根据重力感应切换程序