重力感应,也算是智能机和非智能机的区别之一了吧,Android设备中自然也能有这个功能。
在Android中,使用重力感应功能需要使用SensorEventListener,其中有两个方法, onSensorChanged和onAccuracyChanged,一般都是在onSensorChanged方法中做一些希望达到的效果处理(惭 愧,才刚接触这个重力感应,所以对这两个方法也不是很了解)。重力感应是感应的一种方式,因此,我们还要用到感应检测包Sensor。
首先,我们要获得一个SensorManager,SensorManager manager = (SensorManager) this.getSystemService(Context.SENSOR_SERVICE)。然后,再通过这个manager来获得一个Sensor 的列表,List<Sensor> sensors = manager.getSensorList(Sensor.TYPE_ACCELEROMETER)。 Sensor.TYPE_ACCELEROMETER就是指加速度感应检测,当然还有一些其他的感应检测,这边就没必要都说一下了。
我在做重力感应的时候,用的是manager.registerListener(listener, sensor, rate),这边的sensor就是sensors中的一个Sensor,rate是指延迟时间。
如果要取消这个重力感应的话,就manager.unregisterListener(listener)来取消注册就行了。
public class SensorEventDemoActivity extends Activity implements SensorEventListener{
private List<Sensor> sensors;
private Sensor sensor;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
protected void onResume() {
super.onResume();
SensorManager manager = (SensorManager) this.getSystemService(Context.SENSOR_SERVICE);
sensors = manager.getSensorList(Sensor.TYPE_ACCELEROMETER);
sensor = sensors.get(0);
manager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_GAME);
}
@Override
public void onSensorChanged(SensorEvent event) {
Log.d("Sensor Demo", "do sensor");
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}
其实,代码很简单,主要就是要看在实际项目中如何运用了。
分享到:
相关推荐
【标题】"安卓Android源码——重力感应的测试程序源码.zip" 是一个与安卓应用开发相关的资源,其中包含了实现重力感应功能的源代码。在安卓平台上,利用重力感应器可以让应用程序感知到设备的移动和方向变化,从而为...
在Android开发中,利用重力感应来实现特定功能是一种常见的技术。通过集成传感器API,开发者可以获取设备的重力变化数据,从而实现如来电时翻转手机静音这样的实用功能。下面将详细介绍如何在Android中利用重力感应...
这个项目“安卓Android源码——安卓Android重力感应跑步测速”就是一个很好的实例,展示了如何结合硬件传感器数据来计算用户的跑步速度。下面我们将深入探讨这个项目中的关键知识点。 首先,我们需要了解的是...
这个"Android源码——重力感应的测试程序源码.zip"文件包含了用于测试Android设备重力感应器功能的源代码,下面将对相关知识点进行详细解释。 首先,我们要了解Android系统中的传感器框架。Android通过...
在Android平台上,重力感应是一种常见且重要的功能,它允许应用程序根据设备的移动或倾斜来感知和响应物理世界中的变化。这个"Android重力感应实例"可能是为了展示如何利用Android SDK中的传感器API来开发一个控制...
android系统里面常常没用做关闭重力感应的软件。。。。。o(∩_∩)o 哈哈
在Android平台上,重力感应是通过传感器服务(Sensor Service)来实现的,它允许开发者获取设备的物理运动数据,如重力、加速度等。这个"android_重力感应demo"是一个示例项目,旨在帮助初学者理解如何从设备获取并...
在Android平台上,重力感应功能是通过Android Sensor框架来实现的,它允许应用程序获取设备的运动数据,包括重力、加速度、陀螺仪等。本文将深入探讨Android重力感应源代码的相关知识点,帮助开发者理解和实现这一...
在Android平台上,重力感应功能是通过利用内置的传感器来实现的,这些传感器通常被称为“重力传感器”或“加速度计”。这个“android重力感应实例代码”提供了一个具体的示例,帮助开发者理解如何在Android应用中...
在"安卓Android源码——讲重力感应.zip"这个压缩包中,我们可能找到了与重力感应器相关的源代码和资源文件,包括"logo.png"、"关于作者.txt"以及"Gravity"目录或文件。接下来,我们将深入探讨Android系统中的重力...
Android 重力感应游戏-疯狂的小球源码程序,基于Android 平台的重力感应游戏-疯狂的小球。
这款名为"安卓Android源码——重力感应跑步测速应用"的项目,提供了实现这一功能的完整源码,非常适合对移动开发感兴趣的开发者进行学习和研究。在这个项目中,我们可以深入理解如何将Android的硬件传感器API与用户...
在Android平台上,重力感应功能是通过传感器系统服务来实现的,这允许应用程序接收设备的动态运动数据,如重力、加速度等。这个"Android手机平台重力感应Demo"是一个示例项目,用于演示如何在Android应用中利用重力...
在Android开发中,重力感应是一项重要的功能,它允许应用程序响应设备的移动和方向变化。本示例将深入探讨如何在Android中实现重力感应器的功能,并提供源码供参考。"TestSensor"这个文件很可能是包含实际代码的测试...
在Android开发中,重力感应是一项重要的功能,它允许应用程序响应设备的移动和方向变化,为游戏、健康应用、导航等场景提供了丰富的交互体验。本文将深入探讨Android中的重力感应技术,包括基本原理、API使用以及...
在Android平台上,重力感应是通过传感器服务(Sensor Service)来实现的,它允许开发者获取设备的各种物理状态信息,如重力、加速度、陀螺仪等。在本"Android重力感应Demo"中,我们将深入探讨如何利用Android SDK中的...
本项目“安卓Android源码——安卓Android重力感应跑步测速.rar”提供了一个完整的示例,我们可以从中学到如何利用Android SDK中的Sensor API来处理设备的加速度传感器数据,实现跑步测速功能。 首先,我们需要了解...
在Android平台上,重力感应游戏是一种利用设备内置的传感器来响应用户移动或旋转设备的方式,为玩家带来沉浸式的游戏体验。"疯狂的小球"作为一款这样的游戏,它充分展现了Android平台上的重力感应技术。下面将详细...
该Android应用源码展示了如何利用Android设备的重力感应器来实现跑步测速功能。在Android平台上,开发者可以通过Android传感器API来访问设备的各种传感器数据,包括重力感应器。这个应用的核心技术点主要包括以下几...