package com.sc.sensor;import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;/** 摇一摇事件监听 工具类**/
public class SensorTool
{/** 摇一摇事件回调接口 */public interface ShakeListener{public void onShake();}private static final int SENSOR_VALUE = 12;private static SensorManager sensorManager = null;private static SensorEventListener sensorEvent = null;private static ShakeListener shakeListener = null;/** 设置摇一摇事件监听 */public static void SetShakeListener(Context context, ShakeListener listener){if (sensorManager == null) sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);if (sensorEvent != null) sensorManager.unregisterListener(sensorEvent);shakeListener = listener;if (sensorEvent == null) sensorEvent = new SensorEventListener(){@Overridepublic void onAccuracyChanged(Sensor arg0, int arg1){// TODO Auto-generated method stub}@Overridepublic void onSensorChanged(SensorEvent event){int sensorType = event.sensor.getType();//values[0]:X轴,values[1]:Y轴,values[2]:Z轴float[] values = event.values;if (sensorType == Sensor.TYPE_ACCELEROMETER){//这里可以调节摇一摇的灵敏度if ((Math.abs(values[0]) > SENSOR_VALUE || Math.abs(values[1]) > SENSOR_VALUE || Math.abs(values[2]) > SENSOR_VALUE)){// System.out.println("onSensorChanged=====>" + " X:" + values[0] + " Y:" + values[1] + " Z:" + values[2]);if (null != shakeListener){shakeListener.onShake();}}}}};sensorManager.registerListener(sensorEvent, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);}/** 移除摇一摇事件监听 */public static void RemoveShakeListener(){if (sensorManager != null && sensorEvent != null) sensorManager.unregisterListener(sensorEvent);}
}

示例:SensorExample: 安卓手机应用,摇一摇,点亮屏幕(手机电源键损坏,检测摇一摇,自动点亮屏幕)

安卓 摇一摇 事件监听相关推荐

  1. java 观察者模式_重学 Java 设计模式:实战观察者模式「模拟类似小客车指标摇号过程,监听消息通知用户中签场景」...

    一.前言 知道的越多不知道的就越多 编程开发这条路上的知识是无穷无尽的,就像以前你敢说精通Java,到后来学到越来越多只想写了解Java,过了几年现在可能想说懂一点点Java.当视野和格局的扩大,会让 ...

  2. js 监听 安卓事件_百行代码实现js事件监听实现跨页面数据传输

    百行代码实现js事件监听实现跨页面数据传输 使用场景 类似消息队列的使用场景,支持同页面和跨页面通信,发送消息和接收消息 技术原理 跨页面通信: 基于事件监听,通过监听 storage事件监听回调机制 ...

  3. 安卓键盘事件监听,键盘弹出收起

    一.键盘事件监听 1.在mainifest.xml 中设置activity模式 ```<activityandroid:name=".ui.activity.MainActivity& ...

  4. 安卓Android绘制一个信息填写页面,使用了三种事件监听方法

    先上效果图片: 第一种,匿名内部类 //设置提交按钮监听submitButton.setOnClickListener(new View.OnClickListener() {@Overridepub ...

  5. 宽度发生变化事件监听_PyQt5(3) :实现登录 事件监听处理 程序逻辑功能和界面分离...

    学习于: 学点编程吧:PyQt5图形界面编程(目录) 最终界面如下: 然后是代码: import sys from PyQt5.QtWidgets import QApplication, QWidg ...

  6. IOS微信浏览器返回事件监听问题

    业务需求:从主页进入A订单页面,然后经过各种刷新或点标签加载后点左上角的返回直接返回到主页 采取方法:采用onpopstate事件监听url改变,从而跳转到主页 遇到的问题:安卓上测试没问题:苹果手机 ...

  7. android点击不抬起,Android小坑-OnTouchListener()事件监听长按后抬手MotionEvent.ACTION_MOVE不触发问题...

    场景: 控件使用OnTouchListener()事件监听,正常的流程是,按下瞬间屏幕捕捉到触摸,触发MotionEvent.ACTION_DOWN事件,滑动屏幕会触发MotionEvent.ACTI ...

  8. 11-flutter事件监听

    事件监听 1 本身支持事件检测,就可以直接使用onpress body:Center(child: RaisedButton(child: Text("Click"),onPres ...

  9. 从jQuery的缓存到事件监听

    很久以前,我还在cnblogs里面逛的时候就提出过一个问题(刚找了半天没找到).不知道大家有没有发现,用jQuery选择器"选择"之后的DOM上会添加jQuery********* ...

  10. java中事件监听_Java中的事件监听机制

    鼠标事件监听机制的三个方面: 1.事件源对象: 事件源对象就是能够产生动作的对象.在Java语言中所有的容器组件和元素组件都是事件监听中的事件源对象.Java中根据事件的动作来区分不同的事件源对象,动 ...

最新文章

  1. 电脑硬件知识学习_学习计算机基础必读的4本经典入门书籍,自学编程必备书单!...
  2. “CCF传播大使”招募公告,期待你的加入!
  3. [Spring cloud 一步步实现广告系统] 11. 使用Feign实现微服务调用
  4. oracle新建用户和授权及其删除
  5. 嵌入式linux如何下载程序,Linux平台的下载程序-嵌入式系统-与非网
  6. IdentityServer4【Introduction】之支持的规范
  7. Java Swing编程:JTable表格
  8. Java Enum 枚举
  9. 支付渠道参数如何设计成路由化配置
  10. 草稿 listview动态绑定数据
  11. double和float的误区!
  12. Php底层深度探索(2)---Apache运行机制剖析 王泽宾
  13. storage theory
  14. 有哪些 Java 源代码看了后让你收获很多,代码思维和能力有较大的提升?...
  15. aiohttp 高并发web服务_UE4 unity3d连接高并发http服务器
  16. reportlab 应用 打印考生成绩
  17. 威纶触摸屏与电脑连接_威纶通TK6070IP触摸屏下载线MT6071IE触摸屏编程线连接电脑USB线...
  18. 淘宝商品爬虫实战笔记
  19. PS星光闪耀滤镜:Topaz Star Effects Mac版
  20. P2433 【深基1-2】小学数学 N 合一

热门文章

  1. 概率论考点之方差及数学期望
  2. 在谷歌下面打开之后显示金山毒霸页面
  3. 人脸识别实践(1) - 基本原理与设计思路
  4. 360n6pro刷鸿蒙系统,360手机N6Pro有没事用win10刷机成功的交流一下心得
  5. 小能手英语口语学习笔记 2 发音规则-连读、略读、浊化
  6. html表格的常用样式
  7. Excel单元格提取数字
  8. Pixhawk-姿态解算源码注释
  9. SAP内部培训效果考察表存档
  10. Python:索引总结