添加当重力变化时的处理函数
在创建监听器时调用的函数 doSomething(x, y, z) 是自己定义的方法。
当手机倾斜方向改变时,监听器会调用该方法。
我们要做的,就是填充该方法,用于在重力发生变化时进行我们自己的处理。
当 x=y=0 时,手机处于水平放置状态。
当 x=0 并且 y>0 时,手机顶部的水平位置要大于底部,也就是一般接听电话时手机所处的状态。
当 x=0 并且 y<0 时,手机顶部的水平位置要小于底部。手机一般很少处于这种状态。
当 y=0 并且 x>0 时,手机右侧的水平位置要大于左侧,也就是右侧被抬起。
当 y=0 并且 x<0 时,手机右侧的水平位置要小于左侧,也就是左侧被抬起。
当 z=0 时,手机平面与水平面垂直。
当 z>0 时,手机屏幕朝上。
当 z<0 时,手机屏幕朝下。
1. Accelrator的x,y,z轴的正负向:
手机屏幕向上水平放置时: (x,y,z) = (0, 0, -10) 而不是 (0, 0, 10)
当手机顶部抬起时: y减小,且为负值
当手机底部抬起时: y增加,且为正值
当手机右侧抬起时: x减小,且为负值
当手机左侧抬起时: x增加,且为正值
2. Accelrator的z轴的变化:
手机屏幕向上水平放置时,z= -10
手机屏幕竖直放置时, z= 0
手机屏幕向下水平放置时,z= 10
3. 当x变为+5时, 手机画面切换为竖向
当x变为-5时, 手机画面切换为横向
4. Android传感器相关的类在SDK1.1和SDK1.5中不一样,因此实现代码也不一样
5. Android传感器类型分为:方向、加速表、光线、磁场、临近性、温度等
程序中分别为:
方向: SensorManager.SENSOR_ORIENTATION,
加速表: SensorManager.SENSOR_ACCELEROMETER
光线: SensorManager.SENSOR_LIGHT
磁场: SensorManager.SENSOR_MAGNETIC_FIELD
临近性: SensorManager.SENSOR_PROXIMITY
温度: SensorManager.SENSOR_TEMPERATURE
采样率:最快、游戏、普通、用户界面。当应用程序请求特定的采样率时,其实只是对Android传感器子系统的一个提示,或者一个建议。不保证特定的采样率可用。
最快: SensorManager.SENSOR_DELAY_FASTEST
游戏: SensorManager.SENSOR_DELAY_GAME
普通: SensorManager.SENSOR_DELAY_NORMAL
用户界面: SensorManager.SENSOR_DELAY_UI
准确性: 高、低、中、不可靠。
6. Orientation Sensor三个坐标的含义:
values[0]:方位角(水平旋转角),简单的说就是手机的头现在朝向哪个方位,0=北、90=东、180=南、270=西(可是好像不太准)
values[1]:纵向旋转角,0=面朝上平置、-90=垂直向上、-180/180=面朝下平置、90=垂直向下
values[2]:橫向旋转角,0=朝前、90=往右倒、-90=往左倒
7. 自动侦测手机方向
要让手机自动旋转的话,只要在AndroidManifest.xml里面把ORIENTAION改成sensor就好,可是要让Activity 侦测到方向改变的话,要去抓Activity的Display:
1. if (getWindowManager().getDefaultDisplay().getOrientation() == 0) {
2. //Do some portrait
3. } else {
4. //Do some Landscape
要注意的是Android传感器中的常数和ActivityInfo的不一样,0是竖的,1是橫的。然后因为每次改变屏幕方向都會引发一连串的 onPause, onDestory, onCreate,所以需要的处理全部写在onCreate里面就大功告成。
分享到:
相关推荐
ANDROID传感器开发.pdf
本书主要介绍Android传感器和外设的开发,共29章,主要包括Android开发技术基础、获取并编译源码、Android技术核心框架分析、Android传感器系统分析、使用地图定位、光线传感器详解、接近警报传感器详解、磁场传感器...
利用android传感器实现手机摇一摇解除闹铃,让你不再继续赖床
Android传感器应用之摇一摇小球运动实现 看代码吧
android传感器(加速度、方位、光线)示例源码
Android课程,蓝牙,android传感器,无线传输与媒体硬件功能开发
《Android传感器高级编程》利用你所需的知识和代码来武装你,帮助你很好地利用Android中的传感器。从确定智能手机的位置和解释物理传感器,到处理图像、音频和识别语音,你将学会如何有效地调用传感器相关的API。...
提供了android传感器 详细的使用方法 有步骤讲解还有源代码样例
手机拍摄转PDF,清晰,带完整书签 Android传感器高级编程,中文版,清华大学出版社,481页 ISBN 9787302340775
android 传感器 操作代码 protected void onResume() { super.onResume(); sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_...
极客学院Android传感器源码及PPT。包括以前有人百度网盘分享的极客学院course011.7z文件。是Android传感器(如蓝牙、照相机、NFC等)源码。
详细解释andorid上传感器的应用,包括GPS定位传感器,light sensor,等等
Wrox.Professional.Android.Sensor.Programming.2012
Android 传感器(Sensor)API教程 (六) 加速度传感器运用实例 Android 传感器(Sensor)API教程 (六) 加速度传感器运用实例
Android传感器、无线传输与媒体硬件功能开发视频教程
Android传感器开发实例,学习用。两个Activity,一个用来查看手机里的传感器的个数和种类,另一个是小游戏,用加速度传感器控制小球的位置。
Android传感器高级编程源码包含已编译好的apk文件