1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > android摇一摇功能实现

android摇一摇功能实现

时间:2022-12-15 08:39:01

相关推荐

android摇一摇功能实现

android摇一摇功能是通过手机中的加速度传感器实现的。当加速度大于某一值时,我们认为手机发生摇动,进而进行更多的处理。

功能实现主要有以下几个步骤:

1.添加权限

<!--重力加速度传感器权限 --><uses-permission android:name="android.hardware.sensor.accelerometer"/>

2.获取传感器管理器

SensorManager manager = (SensorManager) this.getSystemService(Service.SENSOR_SERVICE);

3.编写传感器监听器,继承SensorEventListener,其中Sensor.TYPE_ACCELEROMETER为加速度传感器的类型,17是晃动的幅度,有些手机怎么晃动都很难超过20

public class MySensorEventListener implements SensorEventListener { @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]) > 17 || Math.abs(values[1]) > 17 || Math .abs(values[2]) > 17)) { Log.d("sensor x ", "============ values[0] = " + values[0]); Log.d("sensor y ", "============ values[1] = " + values[1]); Log.d("sensor z ", "============ values[2] = " + values[2]); //在这里编写功能代码。。。 } } } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } }

4.注册监听器

listener = new MySensorEventListener(this);

manager.registerListener(listener,manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);

以上便是实现摇一摇功能的主要步骤,demo源码地址/Sunnick/Shake,有兴趣的童鞋可以下载。

以上如有不当之处,欢迎指正,谢谢。

如果各位有好的想法,欢迎关注我的公众号(程序员顺仔)或留言讨论~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。