`
wangleyiang
  • 浏览: 220887 次
社区版块
存档分类
最新评论

Android SensorEventListener

阅读更多

通过SensorEventListener可以实现对传感器的监听,但是在监听之前,需要注册监听事件:

mSensorManager.registerListener(this,
                mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
                SensorManager.SENSOR_DELAY_FASTEST);

 

 具体的监听代码在下面方法中实现:

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) { 

    }

    @Override
    public void onSensorChanged(SensorEvent event) {

        if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) { 
        	
            if(Math.abs(event.values[2]) > 70.0f) {
                orientation.setText("横屏");
            } else if(Math.abs(event.values[1]) > 70.0f && Math.abs(event.values[1]) < 120) {
                orientation.setText("竖屏");
            } else if((Math.abs(event.values[2]) < 20.0f && Math.abs(event.values[1]) < 20.0f)
            		|| (Math.abs(event.values[2]) < 20.0f && Math.abs(event.values[1]) > 160.0f)) {
                orientation.setText("水平");
            } else{
                orientation.setText("");
            }

         }
        
    }

 

在不需要时,记得注销注册的服务哦:

mSensorManager.unregisterListener(this);

 

多说一句:看到这段代码,勾起了以往的一些回忆!雁过留名,人过留声!

 

 

 

分享到:
评论

相关推荐

    Android的SensorEventListener例子(摇晃手机)

    在Android开发中,SensorEventListener是用于监听设备传感器事件的关键接口。这个接口让我们能够实时获取到设备的各种传感器数据,比如加速度计、陀螺仪、磁力计等。在这个例子中,我们将聚焦于如何通过实现...

    Android-Orientation-Sensor,android传感器定向库使用所有可用的设备传感器,帮助您获得更精确的定向矢量值。.zip

    Android-Orientation-Sensor是一个专为Android平台设计的开源库,其主要目的是利用设备上所有可用的传感器来提供更准确的定向矢量值。在Android系统中,传感器是获取设备环境变化的重要工具,如设备的旋转、倾斜、加...

    android-SensorEventListener-.zip_SensorEventListener_android

    在Android开发中,SensorEventListener是Android系统提供的一个接口,用于监听设备的各种传感器事件,例如重力感应、加速度计、陀螺仪等。这个接口在处理与设备物理运动相关的应用程序时非常关键,如游戏、健康应用...

    Android传感器SensorEventListener之加速度传感器

    Android传感器SensorEventListener之加速度传感器 Android系统中提供了多种传感器来感知设备的各种状态,如加速度、方向、陀螺仪、磁场、重力、温度、光照、压力等。这些传感器可以帮助开发者创建更加智能和交互性...

    android studio 陀螺仪 demo 源代码

    在Android系统中,陀螺仪数据可以通过Android的Sensor框架获取,这需要使用到`SensorManager`类和`SensorEventListener`接口。在Android Studio项目中,我们通常会在一个Activity或Service中实现这两个组件,以便...

    android 利用重力感应监听

    在Android开发中,利用重力感应来实现特定功能是一种常见的技术。通过集成传感器API,开发者可以获取设备的重力变化数据,从而实现如来电时翻转手机静音这样的实用功能。下面将详细介绍如何在Android中利用重力感应...

    android获取步数

    这里,`registerListener`方法中的`this`表示监听器,通常是你当前的Activity或者Service实现了`SensorEventListener`接口。`SENSOR_DELAY_NORMAL`是采样间隔,可以调整为适合应用需求的延迟。 一旦注册成功,`...

    android获取重力值

    import android.hardware.SensorEventListener; import android.hardware.SensorManager; ``` `SensorManager`是Android系统提供的传感器管理类,它允许我们访问和管理设备上的所有传感器。首先,我们需要获取`...

    Android应用源码之Android摇一摇功能示例源码-IT计算机-毕业设计.zip

    在Android应用开发中,"摇一摇"功能是一种常见的用户交互方式,它可以为应用程序增加趣味性和互动性。这个"Android应用源码之Android摇一摇功能示例源码"是针对IT计算机专业学生进行毕业设计的一个很好的学习资源,...

    基于Android Studio的指南针开发

    在本教程中,我们将深入探讨如何使用Android Studio开发一个指南针应用。Android Studio是Google官方推出的集成开发环境(IDE),专为Android应用开发设计。它提供了丰富的工具集,包括代码编辑器、调试器以及构建...

    Android-陀螺仪滑动图片实现VR看房

    在Android系统中,陀螺仪的数据可以通过注册SensorEventListener并监听Sensor.TYPE_GYROSCOPE来获取。 要实现图片的平滑滑动,我们需要以下几个步骤: 1. **设置权限**:在AndroidManifest.xml中添加读取传感器的...

    基于Android的温湿度采集系统源码.rar_leftq82_基于Android的温湿度采集系统源码_温湿度_湿度_系统源码

    你需要了解`SensorManager`类和`SensorEventListener`接口,用来注册监听器并处理传感器事件。 3. **温湿度传感器API**:系统通过`Sensor`对象表示传感器,你需要找到支持温湿度测量的`Sensor`类型,如`Sensor.TYPE...

    Android开发精典案例 游戏 迷宫小球

    你可能需要了解并使用Android的MotionEvent和SensorEventListener接口来处理用户输入和传感器事件。 迷宫的生成则涉及算法设计。简单的迷宫可以手动创建,但为了增加可玩性,迷宫通常会自动生成。你可以使用深度...

    android studio指南针

    5. **SensorEventListener**:这是处理传感器事件的接口,包含`onSensorChanged()`和`onAccuracyChanged()`两个方法。当传感器数据发生变化时,`onSensorChanged()`会被调用,传入包含最新传感器值的`SensorEvent`...

    Android-语音通话时息屏的实现

    3. **SensorEventListener接口**:为了监听传感器的事件,我们需要实现`SensorEventListener`接口。在`onSensorChanged(SensorEvent event)`方法中,我们可以获取传感器的值,判断手机是否接近耳朵,进而决定是否...

    android摇晃事件的功能实现

    import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.util.Log; ``` 这些导入用于访问Android系统的传感器服务、监听传感器事件以及...

    基于Android Studio的打砖块游戏(简易版).zip

    通过注册SensorEventListener,监听加速度传感器的变化,调整挡板的位置。 6. **游戏状态管理**:设计游戏的开始、暂停、重置等状态,并相应地更新UI。这涉及到Activity的生命周期管理和数据持久化。 7. **测试与...

    android高仿微信聊天界面

    Android系统提供了SensorManager服务,可以注册SensorEventListener监听加速度传感器。当检测到特定的摇动模式(如连续的快速方向变化)时,触发相应的业务逻辑,例如展示摇一摇结果页面。 信息发送功能是聊天应用...

Global site tag (gtag.js) - Google Analytics