1.在onStart() 方法中获取传感器的SensorManager

@Override

protected void onStart() {

super.onStart();

//获取 SensorManager 负责管理传感器

mSensorManager = ((SensorManager) getSystemService(SENSOR_SERVICE));

if (mSensorManager != null) {

//获取加速度传感器

mAccelerometerSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

if (mAccelerometerSensor != null) {

mSensorManager.registerListener(this, mAccelerometerSensor, SensorManager.SENSOR_DELAY_UI);

}

}

}

2.紧接着我们就要在Stop中注销传感器

@Override

protected void onStop() {

// 务必要在pause中注销 mSensorManager

// 否则会造成界面退出后摇一摇依旧生效的bug

if (mSensorManager != null) {

mSensorManager.unregisterListener(this);

}

super.onStop();

}

3.在step1中的注册监听事件方法中, 我们传入了当前Activity对象, 故让其实现回调接口, 得到以下方法

@Override

public void onSensorChanged(SensorEvent event) {

int type = event.sensor.getType();

if (type == Sensor.TYPE_ACCELEROMETER) {

//获取三个方向值

float[] values = event.values;

float x = values[0];

float y = values[1];

float z = values[2];

if ((Math.abs(x) > 17 || Math.abs(y) > 17 || Math

.abs(z) > 17) && !isShake) {

// TODO: 2016/10/19 实现摇动逻辑, 摇动后进行震动和声音

}

}

}

@Override

public void onAccuracyChanged(Sensor sensor, int accuracy) {

}

4.振动和声音

震动权限

MediaPlayer player = MediaPlayer.create(this, R.raw.weichat_audio);

player.start();

//获取Vibrator震动服务

mVibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);

//方式1

mVibrator.vibrate(1000);//振动一秒

//方式2

//这里使用的是一个长整型数组,数组的a[0]表示静止的时间,a[1]代表的是震动的时间,然后数组的a[2]表示静止的时间,a[3]代表的是震动的时间……依次类推下去,然后这里的代码有一点小小的改变:

long[] patter = {1000, 1000, 2000, 50};

mVibrator.vibrate(patter, 0);

android 微信摇一摇代码,Android微信摇一摇相关推荐

  1. android 微信设置圆角边框代码,Android编程实现圆角边框的方法

    本文实例讲述了Android编程实现圆角边框的方法.分享给大家供大家参考,具体如下: 设置边框圆角可以在drawable-mdpi目录里定义一个xml: android:topRightRadius= ...

  2. php 微信pic_url,一段代码实现微信公众号开发校园图书馆

    原标题:一段代码实现微信公众号开发校园图书馆 作者:vgft 来源:脚本 原文:https://www.jb51.net/article/149187.htm 本文实例为大家分享了php微信公众号图书 ...

  3. android 仿ios动画效果代码,Android仿IOS上拉下拉弹性效果的实例代码

    用过iphone的朋友相信都体验过页面上拉下拉有一个弹性的效果,使用起来用户体验很好:Android并没有给我们封装这样一个效果,我们来看下在Android里如何实现这个效果.先看效果,感觉有些时候还 ...

  4. python微信公众号秒杀代码_微信跳一跳辅助python代码实现

    微信跳一跳辅助python代码实现 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  微信跳一跳辅助python代码实现.txt ] (友情提示:右键点上行txt文档 ...

  5. android建立电话拨号器代码,Android编写电话拨号器

    一.实现步骤 1.需要创建拨号意图 Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData ...

  6. android博学谷我的代码,Android项目实战系列—基于博学谷(四)我的模块(下)...

    由于这个模块内容较多,篇幅较长,请耐心阅读. "我"的模块分为四个部分 [ ] [我的界面]() [ ] [设置界面]() [x] [修改密码界面]() [x] [设置密保和找回密 ...

  7. python微信机器人_30行代码实现微信自动回复机器人

    30行代码实现微信自动回复机器人 一.写在前面 今天下午又学到了itchat另一种有趣的玩法---微信自动回复机器人. 程序很简单仅仅三十行代码左右,实现了机器人自动与你的微信好友聊天,下面是我的机器 ...

  8. php微信转跳浏览器代码,通用微信QQ跳转浏览器打开代码

    演示效果如下 使用方法: 将代码全部复制 粘贴到 网站根目录下index.php文件的顶端 注意:不要覆盖了 index.php里面的原代码,原代码保留 使用说明: 手机QQ内打开,会自动跳转浏览器: ...

  9. 微信翻译生日快乐的代码_微信翻译出 Bug 上热搜,程序员又背锅?!

    天撸了!昨天微信翻译因为出Bug被网友送上热搜,网友质疑微信在翻译明星内容时,结果是近乎"恶搞". 当输入:"you play basketball like caixu ...

  10. 微信翻译生日快乐的代码_微信「隐藏彩蛋」,你发现了没?

    高考加油 愿所有的好运与你相伴,愿在考场的你超常发挥! 这两天就是一年一度的高考的日子,虽特殊,但依旧是一个奋斗的夏季. 相信大家平常使用微信无非就是聊聊天.打打电话什么的,也有部分小小的彩蛋功能被大 ...

最新文章

  1. 第二章 序列比对——Needleman-Wunsch全局比对
  2. hdpi、mdpi、ldpi图片规格
  3. 使用Fiddler进行Web接口测试
  4. vuecli3 引入全局scss变量_在vue-cli 3中给stylus、sass样式传入共享的全局变量
  5. 安装mysql8.0.20,报错“找不到VCRUNTIME140_1.dll”
  6. 设置devenv命令的启动版本
  7. 从零开始写一个Exporter
  8. 数据库基础知识(学习笔记)
  9. matlab颜色识别提取,matlab实现图像颜色特征提取
  10. 终端的乐趣--Linux下有趣的终端命令或者工具【转】
  11. UVA, 563 Crimewave
  12. netstat查看网络状态(windows)
  13. 图文并茂,动手操作一台宝马X7仪表里程校调,看看你买的二手 “新” 宝马是怎么调出来的!
  14. 【你觉得这些技术值多少钱?】
  15. 集束搜索算法 beam search
  16. 免费下载国际学术论文SCI期刊文献软件,SCI-HUB EVA
  17. 静态路由和动态路由详解
  18. Vue3前后端交互错误处理一致性
  19. 基于java的银行信用卡业务系统
  20. python修改桌面壁纸_python设置windows桌面壁纸的实现代码

热门文章

  1. 电路分析三------KCL,KVL,VCR方程
  2. android pak文件_xpak是什么文件 怎么安装xapk文件 和apk有什么区别
  3. Java基础: contains方法的用法
  4. 解决 Push failed: Unable to access 'https://github.com/...': Failed to connect ...Connection Refused
  5. 云原生到底是什么?一文了解云原生四要素!
  6. 账龄分析表excel模板_电商数据分析统计模板工作表
  7. mysql_upgrade --force,MySQL force upgrade
  8. Autolayout的一点理解
  9. C语言中getch()、getche()和getchar()
  10. getch(),getche(),getchar()的区别 (综合转)