Android摇一摇的监听

package com.feng.app.utils;import android.content.Context;import android.hardware.Sensor;import android.hardware.SensorEvent;import android.hardware.SensorEventListener;import android.hardware.SensorManager;/** * 摇一摇监听 * Created by danxiang.feng on 2018/7/25. */public class ShakeUtils implements SensorEventListener {    private static final int SENSOR_VALUE = 16;    private SensorManager mSensorManager = null;    private OnShakeListener mOnShakeListener = null;    public interface OnShakeListener {        public void onShake();    }    public ShakeUtils(Context context) {        mSensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);    }    public void setOnShakeListener(OnShakeListener onShakeListener) {        mOnShakeListener = onShakeListener;    }    public void onResume() {        mSensorManager.registerListener(this,                mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),                SensorManager.SENSOR_DELAY_NORMAL);    }    public void onPause() {        mSensorManager.unregisterListener(this);    }     @Override    public void onAccuracyChanged(Sensor sensor, int accuracy) {    }    @Override    public 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 != mOnShakeListener) {                    mOnShakeListener.onShake();                }            }        }    }}

更多相关文章

  1. android 网络状态监听
  2. Android(安卓)Recyclerview 滚动事件监听
  3. android例子分析-1
  4. Android(安卓)高德地图 定位+围栏
  5. Android(安卓)监听系统音量
  6. Android(安卓)监听程序的安装、卸载、替换
  7. Android(安卓)Tab点击监听 自定义事件
  8. Android(安卓)系统监听,监听USB的插拔
  9. Android实现电话状态监控

随机推荐

  1. [原]零基础学习SDL开发之移植SDL2.0到And
  2. 解决下载Android源码时遇到的 download e
  3. android 资源ID规则
  4. Android(安卓)- SuppressLint("NewApi")
  5. Android的刷新机制详解
  6. Unity中安卓APP安装OBB分包(基础APK+OBB)
  7. Android(安卓)ADT 离线下载技巧(告别在线
  8. ANDROID:LISTVIEW 自定义背景
  9. Android(安卓)Studio项目中使用 AndroidX
  10. Android在线更新SDK的方法(使用国内镜像)