Android 手机震动工具类
参考链接:https://www.jianshu.com/p/7cf9972b4fc6
参考链接:https://blog.csdn.net/zhaoxiaojian1213/article/details/77479417
实现震动,首先要加上使用震动所需的权限,添加在AndroidMainifest.xml
<!-- 添加震动权限 -->
<uses-permission android:name="android.permission.VIBRATE"/>
直接看代码,复制拿去直接用
public class TipHelp {
/*
* final Activity activity :调用该方法的Activity实例long milliseconds :震动的时长,单位是毫秒
long[] pattern :自定义震动模式 。数组中数字的含义依次是[静止时长,震动时长,静止时长,震动时长。。。]时长的单位是毫秒
boolean isRepeat : 是否反复震动,如果是true,反复震动,如果是false,只震动一次
TipHelper.Vibrate(getActivity(), new long[]{800, 1000, 800, 1000, 800, 1000}, true);
*/
private static Vibrator vib;
public static void Vibrate(final Activity activity, long milliseconds) {
vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE);
vib.vibrate(milliseconds);
}
public static void Vibrate(final Activity activity, long[] pattern, boolean isRepeat) {
vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE);
vib.vibrate(pattern, isRepeat ? 1 : -1);
}
public static void Vibrate(MainActivity activity, long[] pattern, boolean isRepeat) {
vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE);
vib.vibrate(pattern, isRepeat ? 1 : -1);
}
/**
* 停止震动
*/
public static void stop() {
vib.cancel();
}
//取消震动
public static void virateCancle(final Activity activity){
Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE);
vib.cancel();
}
}
在需要的地方可以直接调用:
TipHelper.Vibrate(getActivity(), new long[]{800, 1000, 800, 1000, 800, 1000}, true);
如果想要设置一个震动开关按钮,添加一个标志位来判断震动是否已经开启。
public static Boolean isVirating = false;//声明一个全局静态变量
在开关按钮里改变一下boolean值,我用的是switch控件
sw_zd.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked){
isVirating = true;
}else {
//关闭震动
if (isVirating)
{
isVirating = false;
TipHelp.virateCancle(getActivity());
}
}
}
});
然后在需要的地方进行一个判断就可以了
if(MeFragment.isVirating){ //MeFragment是声明全局静态变量的类名
TipHelp.Vibrate(getActivity(), new long[]{800, 1000, 800, 1000, 800, 1000}, true);
}
希望能够帮助到别人。
要学的还有很多,加油。
Android 手机震动工具类相关推荐
- Android开发:手机震动工具类
新思路,如果你在做关于通知Notification方便的工作,在涉及到多种通知方式组合时(例如:铃声.轻震动.强震动等),感觉到系统提供的API比较吃力的话,建议可以自己来实现通知效果,根据开发经验, ...
- android 手机震动功能吗,Android 手机震动功能实现
1.首先在AndroidManifest.xml中添加震动权限 2.创建震动工具类 VibratorUtil.java package com.techrare.util; import androi ...
- android 获取手机信息工具类
package com.yqy.yqy_listviewheadview;import android.content.Context; import android.telephony.Teleph ...
- Android 手机自动化测试工具有哪几种?
Android 手机自动化测试工具有哪几种? 3 条评论 分享 按投票排序按时间排序 28 个回答 78赞同 反对,不会显示你的姓名 知乎用户,https://github.com/truebit 孙 ...
- Android开发常用工具类集合
转载自:https://blog.csdn.net/xiaoyi_tdcq/article/details/52902844 Android开发常用工具类集合 android开发中为了避免重复造轮子, ...
- android 快速开发工具类,android面试知识点
项目地址:570622566/FastAndrUtils 简介:android 快速开发工具类 更多:作者 提 Bug 官网 标签: Fastandrutils 是一套整理修改整合的 and ...
- Android常用的工具类
2019独角兽企业重金招聘Python工程师标准>>> 最新最准确内容建议直接访问原文:Android常用的工具类 主要介绍总结的Android开发中常用的工具类,大部分同样适用于J ...
- Android使用的工具类
Android实用的工具类 https://github.com/AbrahamCaiJin/CommonUtilLibrary#获取app应用版本信息--appapplicationmgr
- 退出整个Android程序的工具类
在实际的Android开发过程中常常有退出整个Android程序的需求,下面给大家介绍一下如何编写一个退出整个Android程序的工具类 package com.superGao.exitApp; i ...
最新文章
- python中的偏函数
- SQL注入——报错注入
- VTK:重叠AMR用法实战
- Spark学习之路 (五)Spark伪分布式安装
- html ie 版本设置密码,如何给IE浏览器设置一个密码的详细图文步骤
- 谁说“IT 不理解 OT”?开放自动化来破局!
- 导致存储过程重新编译的原因
- Cobbler详解(一)——Cobbler基础知识
- intellij 出现“Usage of API documented as @since 1.8+”的解决办法
- h2事务与mysql_H2数据库事务提交失败
- Atitti 模板匹配 Listjava.awt.Point matchTemplate(
- JAVA支付宝app端支付以及提现
- 计算机应用 2010 成绩,2010西电计算机应用技术考研成绩
- creo视图管理器使用方法_5.3 视图管理-样式、截面
- 二、JavaWeb动态网页基础
- 20条经典触动心灵语录
- 十八万字《python从零到精通教程》第二版,贴心保姆教你从零变大神,学不会找我
- AM335x片上ecap驱动移植
- java arraylist 求和_java-ArrayList中类对象属性的总和
- uni-app省市区选择器