美文网首页
Android监听摇一摇

Android监听摇一摇

作者: forever远方 | 来源:发表于2019-01-18 16:57 被阅读0次

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();
                }
            }
        }
    }
}

相关文章

  • Android监听摇一摇

    Android摇一摇的监听

  • 摇一摇

    对于摇一摇功能 iOS 中已经提供了接口.直接调用就好了.实现步骤:1). 监听摇一摇方法 2). 实现下面的方法...

  • Android实现摇晃手机的监听(摇一摇)

    背景 项目中,需要在某些界面监听用户摇晃动作做出相应的反应。下面分Kotlin和Java两种给出具体的代码。 实现...

  • iOS 摇一摇、计步器

    一、摇一摇 直接监听方法就可以 1.用户开始摇晃手机 - (void)motionBegan:(UIEventSu...

  • OC:传感器

    距离传感器 加速计 coreMotion 摇一摇. 监听简单的手机摇动,利用系统的方法. 计步器,导入 :

  • Android摇一摇功能

    利用加速度传感器,并注册监听器 通过回调中的x、y、z的值,做摇一摇动作的判定 结合自己的条件:如每2秒允许触发一...

  • Android,可以不再拷代码了吗?

    功能地址: 1,Android,一个函数实现支付宝 2,Android,一个函数实现摇一摇 3,Android,一...

  • 监听摇一摇最合适的代码

    摇一摇要说监听很好监听,但是代码写的不合适有时候很容易就触发,或者手摇酸了都不会触发。 这个策略是,在时间间隔内连...

  • Vue<幸运抽奖-摇一摇>

    首先要实现这种功能并不难,只需要调用设备的运动权限,也就是陀螺仪,监听它的运动数据就能实现摇一摇的监听。 Devi...

  • android:摇一摇的实现

    一、需求 实现类似微信等的摇一摇效果摇动时 振动手机、播放音频、弹出dialog提示摇动时不需要微信的动画效果 二...

网友评论

      本文标题:Android监听摇一摇

      本文链接:https://www.haomeiwen.com/subject/ubnndqtx.html