本文实例讲述了Android开发中的重力传感器用法。 分享给大家供大家参考,具体如下: 重力传感器与方向传感器的开发步骤类似,只要理清了期中的x,y,z的值之后就可以根据他们的变化来进行编程了,首先来看一副图 ? 右侧面朝上的时候,y的值为-g 了解了重力传感器中X,Y,Z的含义之后下面我们就开始学习如何使用 首先我们创建一个传感器管理器和一个传感器监听器,管理器用来管理传感器以及创建各种各样的传感器,监听器用来监视传感器的变化并且进行相应的操作 (); } 到此,有关重力传感器的介绍完毕! 接下来看一个Android用重力传感器做横竖屏切换的例子 在播放视频的时候,可能要做横竖屏的切换,但是,用户可以设置自己的手机关掉屏幕旋转,这个时候就需要想其他的办法了,比如:重力传感器。
本文实例讲述了Android编程基于重力传感器实现横竖屏放向切换功能。 ; import android.content.pm.ActivityInfo; import android.util.Log; import android.view.OrientationEventListener ; import java.lang.ref.WeakReference; /** * Created by Administrator on 2016/12/3 0003. * 监听重力系统传感器的变化 相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android文件操作技巧汇总》 、《Android资源操作技巧汇总》及《Android控件用法总结》 希望本文所述对大家Android程序设计有所帮助。
2核2G云服务器首年95元,GPU云服务器低至9.93元/天,还有更多云产品低至0.1折…
android中的很多游戏的游戏都使用了重力感应的技术,就研究了一下重力感应 以屏幕的左下方为原点,箭头指向的方向为正。从-10到10,以浮点数为等级单位,想象以下情形: ? 代码实例: AndroidManifest.xml <uses-permission android:name="android.hardware.sensor.accelerometer"/> 代码很简单 ; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager ; import android.os.Bundle; import android.view.MotionEvent; import android.widget.Toast; public class 注明:这是在模拟器上截图(SDK V1.5), 由于模拟器无法感应重力,请大家在物理机上测试 源码下载
在Character Movement中设置Gravity Scale为0即可。 📷
大家好,又见面了,我是你们的朋友全栈君 1.Android的三大类传感器 Android传感器按大方向划分大致有这么三类传感器:动作(Motion)传感器、环境(Environmental)传感器、 包括如下几个传感器: 方向(orientation)传感器、磁力(magnetometer)传感器 了解后我们就开始进入传感器的编程工作了,接下来我们看一下Android为我们提供的传感器框架(Android 2.Android传感器框架 Android SDK为我们提供了ASF,可以用来访问当前Android设备内置的传感器。ASF提供了很多类和接口,帮助我们完成各种与传感器有关的任务。 (1)加速度传感器 加速度传感器需要结合重力传感器使用,以减少加速度受重力的影响。 例如,加速度传感器要消除重力对其回传值的影响。
昨天利用Vibrator将手机改造成振动器,女票大人很满意,今天再接再厉,研究一下Android传感器如何开发…… 主要涉及到三个类,Sensor, SensorManager, SensorEventListener 看名字就知道大概意思了,Sensor传感器,SensorManager传感器管理者, SensorEventListener传感器事件监听。 说了一点注意事项,就是当不需要的时候,一定要确保禁用传感器了,否则电量会快速耗尽。 但是也有一个传感器是例外:Trigger Sensor。不深究,看名字猜一下,应该是不能禁用触摸传感器。 3.在Activity的onResume()方法中调用SensorManager的registerListener()方法,为指定的传感器注册监听器,程序通过实现监听器即可获取传感器传回来的数据。 samplingPeriodUs 获取数据的频率 最后实现一个例子,该例子可在《疯狂的Android讲义》P622中找到。
本文实例为大家分享了Android实现接近传感器的具体代码,供大家参考,具体内容如下 1.接近传感器检测物体与听筒(手机)的距离,单位是厘米。 一些接近传感器只能返回远和近两个状态,如我的手机魅族E2只能识别到两个距离:0CM(近距离)和5CM(远距离) 因此,接近传感器将最大距离返回远状态,小于最大距离返回近状态。 接近传感器可用于接听电话时自动关闭LCD屏幕以节省电量。 一些芯片集成了接近传感器和光线传感器两者功能(魅族E2)。 SensorManager对象*/ mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); /*通过SensorManager获取相应的(接近传感器 " / </LinearLayout 源码下载:Android接近传感器 以上就是本文的全部内容,希望对大家的学习有所帮助。
始终竖屏,由重力传感器决定是哪个方向的竖屏 SCREEN_ORIENTATION_UNSPECIFIED 不指定方向,使用默认方向 SCREEN_ORIENTATION_USER 由用户和重力传感器共同决定 ,详见文本末端 SCREEN_ORIENTATION_USER_LANDSCAPE 用户和重力传感器共同决定是哪个方向的横屏 SCREEN_ORIENTATION_USER_PORTRAIT 用户和重力传感器共同决定是哪个方向的竖屏 ,虽然可以做到屏幕随重力传感器切换,但是发现:无论手机设置中“屏幕旋转”或“方向锁定”是开是关,App内的Activity都会随着手机的横竖方向切换横竖屏。 我想要实现的是当打开“屏幕旋转”时,App内的Activity跟随重力感应器;当关闭“屏幕旋转”时,App内的Activity固定为默认方向。如何做到关闭重力传感器时,App亦关闭屏幕自动旋转? 屏幕旋转”设置,App内的特定Activity都会根据重力传感器改变横竖屏。
原 Android平台提供了多种传感器,可让您监控设备的运动。 传感器的可能体系结构因传感器类型而异: 重力,线性加速度,旋转矢量,显着运动,步进计数器和步进检测器传感器基于硬件或基于软件。 表1总结了Android平台上可用的运动传感器。 表1. Android平台支持的运动传感器 ? ? ? 1标量组件是一个可选值。 旋转矢量传感器和重力传感器是用于运动检测和监测的最常用的传感器。 Android开源项目传感器 Android开源项目(AOSP)提供三种基于软件的运动传感器:重力传感器,线性加速度传感器和旋转矢量传感器。 根据供应商和版本号识别这些传感器是必要的,因为Android系统认为这三个传感器是辅助传感器。例如,如果设备制造商提供自己的重力传感器,则AOSP重力传感器将显示为次要重力传感器。 几乎所有基于Android的手机和平板电脑都有一个加速度计,它比其他运动传感器的功耗低大约10倍。一个缺点是您可能必须使用低通和高通滤波器来消除重力并减少噪音。
这个类(我的是Activity中)继承SensorEventListener接口 先获取传感器对象,再获取传感器对象的类型 //获取传感器管理对象 SensorManager mSensorManager ,还可以获取其他类型的传感器,如: * Sensor.TYPE_ORIENTATION:方向传感器。 * Sensor.TYPE_GYROSCOPE:陀螺仪传感器。 * Sensor.TYPE_MAGNETIC_FIELD:磁场传感器。 * Sensor.TYPE_GRAVITY:重力传感器。 * Sensor.TYPE_LINEAR_ACCELERATION:线性加速度传感器。 * Sensor.TYPE_AMBIENT_TEMPERATURE:温度传感器。 * Sensor.TYPE_LIGHT:光传感器。 * Sensor.TYPE_PRESSURE:压力传感器。
Android系统提供了对传感器的支持,如果手机设备的硬件提供了这些传感器,Android应用可以通过传感器来获取设备的外界条件,包括手机设备的运行状态、当前摆放方向、外界的磁场、温度和压力等。 Android系统提供了驱动程序去管理这些传感器硬件,当传感器感知到外部环境发生改变时,Android系统负责管理这些传感器数据。 一. Android中11中常见的传感器 ---- 加速度传感器:SENSOR_TYPE_ACCELEROMETER 磁力传感器:SENSOR_TYPE_FIELD 方向传感器:SENSOR_TYPE_ORIENTATION 接近传感器:SENSOR_TYPE_PROXIMITY 重力传感器:SENSOR_TYPE_GRAVITY 线性加速度传感器:SENSOR_TYPE_LINEAR_ACCELERATION 旋转矢量传感器 = null){ //传感器存在 }else{ //传感器不存在 } 使用Android Market过滤器来限定目标设备必须带有指定传感器配置。
android传感器使用的demo,包括光线传感器,加速度传感器,距离传感器和方向传感器。 ; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener ; import android.hardware.SensorManager; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem ; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast 1]=event.values[1]-gravity[1]; linear_acceleration[2]=event.values[2]-gravity[2]; //通过以上公式可以抛去三个方向上的重力加速度
前言 Android系统提供了对传感器的支持,如果手机的硬件提供了这些传感器的话,那么我们就可以通过代码获取手机外部的状态。比如说手机的摆放状态、外界的磁场、温度和压力等等。 磁场传感器会返回三个数据,分别代表周围磁场分解到X、Y、Z三个方向的磁场分量,磁场数据的单位是微特斯拉。 重力传感器 重力传感器会返回一个三维向量,这个三维向量可显示重力的方向和强度。 重力传感器的坐标系统和加速度传感器的坐标系统相同。 线性加速度传感器 线性加速度传感器返回一个三维向量显示设备在各个方向的加速度(不包含重力加速度)。 线性加速度传感器的坐标系统和加速度传感器的坐标系统相同。 线性加速度传感器、重力传感器、加速度传感器,这三者输出值的关系如下: 加速度传感器 = 重力传感器 + 线性加速度传感器。 在使用心率传感器时,需要增加如下权限: <uses-permission android:name="android.permission.BODY_SENSORS"/> 实例(获取各传感器数据并展示)
Android操作系统11种传感器介绍 在Android2.3 gingerbread系统中,google提供了11种传感器供应用层使用。 一些芯片集成了接近传感器和光线传感器两者功能。 下面三个传感器是Android2新提出的传感器类型,目前还不太清楚有哪些应用程序使用。 9 重力传感器 重力传感器简称GV-sensor,输出重力数据。 在地球上,重力数值为9.8,单位是m/s^2。 坐标系统与加速度传感器相同。 当设备复位时,重力传感器的输出与加速度传感器相同。 10 线性加速度传感器 线性加速度传感器简称LA-sensor。 线性加速度传感器是加速度传感器减去重力影响获取的数据。 加速度传感器、重力传感器和线性加速度传感器的计算公式如下: 加速度 = 重力 + 线性加速度 11 旋转矢量传感器 旋转矢量传感器简称RV-sensor。
本文实例讲述了Android编程中光线传感器的调用方法。 (加速传感器) values[0] :沿x轴方向加速度 values[1]: 沿 y 轴方向的加速度 values[2] : 沿 z 轴方向的加速度,也就是重力加速度 Gravity(重力感应器) values数组中的三个元素分别代表x轴,y轴,z轴的重力大小 Light(光线传感器) values数组只有第一个元素values[0]有意义,表示光线的强度,最大值是120000.0f. : 适合与在游戏中获得传感器数据 SENSOR_DELAY_NORMAL: 以一般的速度获得传感器数据 SENSOR_DELAY_UI:适合于在ui空间中获得数据 更多关于Android相关内容感兴趣的读者可查看本站专题 :《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》、《Android资源操作技巧汇总》、《Android文件操作技巧汇总》、《Android
加速度传感器是Windows Phone 7中一个基本的传感器,很多应用软件和游戏软件都需要用到它,因此,使用其他手段来模拟重力加速度传感器是一个十分有用的尝试。 ,其方法是:使用一台真实的HD2来获取加速度传感器的数据,然后把这些数据再传回WCF服务;同时Windows Phone 7的应用程序通过这个WCF服务来获取加速度传感器的值。 他在前言中就提到了如何在Windows Phone 7模拟器中实现加速度传感器的方法。 本文根据Charles Petzold给出的提示信息进行了验证,试想一下,用一个摄像头就可以模拟加速度传感器,真是挺有趣的。 准备工作 1. 目前该方法只实现了重力加速度,没有实现运动方向的加速度,即给出的X/Y/Z这三个值是在垂直方向上的加速度。 2.
下载LOFTER客户端 Android并没有设定标准的传感器配置,这意味着设备制造商可能会把所有要装入设备的传感器配置都放进Android平台的设备中。 你有两种方式来确认传感器的存在: 1.在运行时检测传感器并酌情启用或禁用应用程序的相应功能 2.使用Android Market过滤器来限定目标设备必须带有特定传感器 这两种方式将在下节介绍 } 2.用 Android Market 过滤器来限定目标设备必须带有指定的传感器配置 如果你要在 Android Market 上发布应用,你可以用 manifest 文件中的 <uses-feature 仅当应用程序完全依赖于某指定传感器时,你才能把描述符设置 android:required=”true”。 以下传感器会用到该坐标系: 加速度传感器 重力传感器 陀螺仪 线性加速度传感器 地磁传感器 要理解这个坐标系,最重要的一点就是,屏幕方向变化时坐标轴并不移动——也就是说,设备移动时传感器的坐标系永不改变
在android中,一般手机貌似没有定制这个功能,不过我们可以自己去实现这样的功能,放置在我们的项目程序中,体现更人性化的设计,思路很简单,主要是利用手机内置的加速度传感器装置,其实大家一定会想到微信的 float y = values[1];// y轴方向的重力加速度 float z = values[2];// z轴方向的重力加速度 每个值的范围都介于-10~10之间,可以通过对各个方向值的判断来到达我们所需要的效果 ; import android.os.Bundle; import android.os.Vibrator; import android.view.LayoutInflater; import android.view.View ; import android.widget.LinearLayout; import android.app.Activity; import android.app.AlertDialog; public floaty=values[1];//y轴方向的重力加速度 floatz=values[2];//z轴方向的重力加速度 //这里设置的一个阈值为18,经测试比较满足一般的摇晃,也可以自己按需定义修改
* 创建世界 */ public void createWorld() { if (mWorld == null) { //竖直向下的重力向量 collisionModel.getAngle(body); if (angle >= 0) { view.setRotation(angle); } } 定义为body设置重力方向的方法 /** * 设置重力 * * @param x * @param y * @param body */ public void collisionPresenter.applyLinearImpulse(x, y, view); } } } 4.在Activity中添加子view和开启监听重力感应
本文实例讲述了Android开发获取重力加速度和磁场强度的方法。 分享给大家供大家参考,具体如下: Android获取重力加速度和磁场强度主要依靠: Sensor.getRotationMatrix (float[] R, float[] I, float[] gravity , float[] geomagnetic) 输入数据: gravity为重力传感器测得的重力加速度float[3]; geomagnetic为罗盘传感器测得的地磁数据float[3]; 输出数据: 相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android文件操作技巧汇总》 、《Android资源操作技巧汇总》及《Android控件用法总结》 希望本文所述对大家Android程序设计有所帮助。
扫码关注腾讯云开发者
领取腾讯云代金券