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源码地址https://github.com/Sunnick/Shake,有兴趣的童鞋可以下载。

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

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

android摇一摇功能实现相关推荐

  1. android 摇一摇监听,Android摇一摇功能实现(摇一摇监听)

    近期项目中要求增加摇一摇功能,搜了相关帖子,自己整理一套代码,发个博客保留一份. 解析:Android中摇一摇主要通过[SensorManager]实现,想了解可以查一下. 上期的不够完善 更新了一下 ...

  2. android传感器实现摇一摇功能

    现在的不少应用都用到了摇动手机改变内容的功能,比如微信中的"摇一摇"功能.前两天要实现这个功能,稍微看了一下关于传感器Sensor的内容. 传感器有几种类型: 方向传感器: Sen ...

  3. 4.16 Android 感应器实现摇一摇的功能

    一定要记住的是,在onDestroy方法里面取消监听器的注册.不然会很耗电的. package tech.androidstudio.sensordemo; import android.hardwa ...

  4. android传感器摇一摇功能

    现在的不少应用都用到了摇动手机改变内容的功能,比如微信中的"摇一摇"功能.前两天要实现这个功能,稍微看了一下关于传感器Sensor的内容. 传感器有几种类型:        方向传 ...

  5. android开发利用传感器实现微信的摇一摇功能

    现在的不少应用都用到了摇动手机改变内容的功能,比如微信中的"摇一摇"功能.前两天要实现这个功能,稍微看了一下关于传感器Sensor的内容. 传感器有几种类型:        方向传 ...

  6. 功能篇------android 实现“摇一摇”功能

    微信中的"摇一摇"功能想必大家都知道!如何实现这个功能呢?大家需要了解传感器Sensor . 传感器有几种类型:        方向传感器:   Sensor.TYPE_ORIEN ...

  7. Android手机摇一摇功能的简单实现

    我需要做一个Android摇一摇的功能,网上我看了很多教程,都写的大同小异,很多了,最近慕课网上也有关于开发摇一摇教程的视屏,讲的很详细,可惜中间视屏少了两节! SensorManager :获取传感 ...

  8. android 微信摇一摇代码,Android实现微信摇一摇功能

    本文实例为大家分享了Android实现微信摇一摇功能的具体代码,供大家参考,具体内容如下 1.初始化界面 设置摇一摇界面的背景图片和摇动时的上下两半张图片 xmlns:tools="http ...

  9. Android 传感器之《加速传感器》——摇一摇功能

    Android传感器开发参考网站: Android Developers镜像网站:http://wear.techbrood.com/guide/topics/sensors/sensors_over ...

最新文章

  1. 5G+AI成产业新引擎 安防行业切入点在哪里?
  2. 游戏杆编程心得二:如何判断按钮的有效按下
  3. Hadoop学习之HDFS架构(二)
  4. TensorFlow Java+eclipse下环境搭建
  5. 每日Ubuntu小技巧 - 使用TeamViewer连接远程桌面
  6. 24个笔画顺序表_小学一年级语文26个汉语拼音字母要点+田字格儿歌,赶紧给孩子看...
  7. 工厂方法设计模式示例
  8. Js引擎解析执行 阅读笔记
  9. ASP.NET应用程序性能测试
  10. 展讯召开2017全球合作伙伴大会,发布两款新平台及新战略
  11. Linux常用命令(补充)--其他
  12. Java 第四次作业
  13. [转]c++中RTTI的观念和使用
  14. 计算机附件中小工具使用方法,计算机系统工具的使用方法
  15. 华铸CAE70(灰铁).
  16. wc2018冲刺期总结
  17. 物权法全文内容有哪些呢-广告外链_广告策划包含了哪些内容?
  18. 如何用Web Scraper抓取巨潮资讯网全站乐视相关pdf文件
  19. 写给大家看的CSS书,写给大家看的设计书
  20. 【洛谷 P1240】诸侯安置

热门文章

  1. android 带箭头提示框,三种带箭头提示框总结实例
  2. C++实现分数的四则运算
  3. 一个屌丝程序猿的人生(五十三)
  4. ES1J-ASEMI超快恢复二极管ES1J
  5. 头发保护 - 二硫化硒洗剂
  6. Vue2.0的页面模板
  7. 房贷等额本金和等额本息有什么区别,为何很多人傻傻分不清?
  8. 人工智能:智慧环保(上海AI智慧环保,绿色新时代)
  9. Windows 11系统IDEA启动时报错:Cannot find keymap “Windows copy” 解决办法
  10. RFID技术应用及其发展趋势分析