Android开发教程:手机震动控制浅析

Android系统中Vibrator对象负责对手机震动的处理,具体的实现方法: 


1.获取振动器Vibrator的实例: 
Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); 
getSystemService(VIBRATOR_SERVICE):获得 一个震动的服务

2.调用vibrate方法来产生震动: 
只向vibrate() 传递一个参数,
这个参数用来指定振动的毫秒 数 


//震动5秒 
vibrator.vibrate(5000); 


向 vibrate()方法传递多个参数 


//等待1秒,震动2秒,等待1秒,震动3秒 
long[] pattern = {1000, 2000, 1000, 3000}; 
//-1表示不重复, 如果不是-1, 比如改成1, 表示从 前面这个long数组的下标为1的元素开始重复. 
vibrator.vibrate(pattern, -1);


3.取消震动 vibrator.cancel();


4.在AndroidManifest.xml
文件添加权限 


<uses-permission android:name="android.permission.VIBRATE" />

======================================================================================

=============================================================================================


下面的实例包含了产生震动的两个方法


VibratorDemoActivity.java package com.lingdududu.test; 
import android.app.Activity; 
import android.os.Bundle; 
import android.os.Vibrator; 
import android.view.MotionEvent; 


/* * @author lingdududu 
* 当程序开始运行结束时,手机等待1秒就开始震动2秒,再等待1秒,开始震动3 秒 
* 当我们点击手机屏幕,触发 onTouchEvent事件,手机就开始震动1秒 
*/


public class VibratorDemoActivity extends Activity { 
@Override 
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); 
long[] pattern = {1000, 2000, 1000, 3000}; 
vibrator.vibrate(pattern, -1); 



@Override 
public boolean onTouchEvent(MotionEvent event) { 
if (event.getAction() == MotionEvent.ACTION_MOVE) { 
Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); 
vibrator.vibrate(1000);
 } 
return super.onTouchEvent(event); } 



注:记得在AndroidManifest.xml文件添加权 限,还有程序要在真机上运行才能有震动的效 果,模拟器上不支持震动的。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL数据库安装与配置详解

目录 一、概述 二、MySQL安装 三、安装成功验证 四、NavicatforMySQL下载及使用 一、概述 MySQL版本&#xff1a;5.7.17 下载地址&#xff1a;http://rj.baidu.com/soft/detail/12585.html?ald 客户端工具&#xff1a;NavicatforMySQL 绿色版下载地址&#xff1a;http://www.c…

java 根据类名示例化类_Java LocalDateTime类| 带示例的getNano()方法

java 根据类名示例化类LocalDateTime类getNano()方法 (LocalDateTime Class getNano() method) getNano() method is available in java.time package. getNano()方法在java.time包中可用。 getNano() method is used to get nano-of-second field value from this date-time o…

求求你,不要再使用!=null判空了!

对于Java程序员来说&#xff0c;null是令人头痛的东西。时常会受到空指针异常&#xff08;NPE&#xff09;的骚扰。连Java的发明者都承认这是他的一项巨大失误。那么&#xff0c;有什么办法可以避免在代码中写大量的判空语句呢&#xff1f;有人说可以使用 JDK8提供的 Optional …

Linux系统的基本法则

Linux基本法则&#xff1a;1.一切皆文件&#xff1a;Linux系统中基本上都为文件组成&#xff0c;包括配置文件、硬件信息等&#xff1b;2.由重多的单一目的小程序组成&#xff0c;并且将各种小程序组合可以完成复杂任务&#xff1b;3.尽可能避免捕获用户接口&#xff0c;为了方…

android字符串复制到剪贴板

android2.1之后版本 其一&#xff1a;&#xff08;已运行成功 &#xff09;ClipboardManager clip (ClipboardM anager)getSystemService(Context.CLIPB OARD_SERVICE); clip.getText();// 粘贴clip.setText(str); // 复制其二&#xff1a;ClipboardM anager c (ClipboardMana…

date.gethour_Java LocalDateTime类| 带示例的getHour()方法

date.gethourLocalDateTime类getHour()方法 (LocalDateTime Class getHour() method) getHour() method is available in java.time package. getHour()方法在java.time包中可用。 getHour() method is used to get an hour-of-day field value from this date-time object. ge…

JDBC(Java语言连接数据库)

JDBC&#xff08;Java语言连接数据库&#xff09;JDBC本质整体结构基层实现过程&#xff08;即用记事本而不是idea&#xff09;第一种实现方式第二种实现方式乐观锁和悲观锁乐观锁悲观锁JDBC本质 整体结构 基层实现过程&#xff08;即用记事本而不是idea&#xff09; 第一种实…

那些牛逼的数据分析师,SQL用的到底有多溜

从各大招聘网站中可以看到&#xff0c;今年招聘信息少了很多&#xff0c;但数据分析相关岗位有一定增加&#xff0c;而数据分析能力几乎已成为每个岗位的必备技能。是什么原因让企业如此重视“数据人才”&#xff1f;伴随滴滴出行、智慧营销等的落地商用&#xff0c;部分企业尝…

knn机器学习算法_K-最近邻居(KNN)算法| 机器学习

knn机器学习算法Goal: To classify a query point (with 2 features) using training data of 2 classes using KNN. 目标&#xff1a;使用KNN使用2类的训练数据对查询点(具有2个要素)进行分类。 K最近邻居(KNN) (K- Nearest Neighbor (KNN)) KNN is a basic machine learning…

Linux 指令的分类 (man page 可查看)

man page 常用按键 转载于:https://www.cnblogs.com/aoun/p/4324350.html

google高级搜索命令

一、allintitle:当我们用allintitle提交查询的时候&#xff0c;Google会限制搜索结果仅是那些在网页标题里边包含了我们所有查询关键词的网页。例 &#xff3b;allintitle: detect plagiarism&#xff3d;&#xff0c;提交这个查询&#xff0c;Google仅会返回在网页标题里边包含…

Springboot遇到的问题

Springboot遇到的问题1_访问4041.1_url错误1.2_controller和启动项不在同级目录1.3_未加ResponseBody2_字母后端显示大写&#xff0c;传到前端变为小写2.1_Data注释问题1_访问404 1.1_url错误 1.2_controller和启动项不在同级目录 1.3_未加ResponseBody 在方法上面加&#…

45 张图深度解析 Netty 架构与原理

作为一个学 Java 的&#xff0c;如果没有研究过 Netty&#xff0c;那么你对 Java 语言的使用和理解仅仅停留在表面水平&#xff0c;会点 SSH 写几个 MVC&#xff0c;访问数据库和缓存&#xff0c;这些只是初等 Java 程序员干的事。如果你要进阶&#xff0c;想了解 Java 服务器的…

ajax实现浏览器前进后退-location.hash与模拟iframe

为什么80%的码农都做不了架构师&#xff1f;>>> Aajx实现无数据刷新时&#xff0c;我们会遇到浏览器前进后退失效的问题以及URL不友好的问题。 实现方式有两种 1、支持onhashchange事件的&#xff0c;通过更新和读取location.hash的方式来实现 /* 因为Javascript对…

java环境变量配置以及遇到的一些问题

java环境变量配置以及遇到的一些问题1_下载2_配置环境变量2.1_配置JAVA_HOME2.2_配置CLASS_PATH2.2_配置系统路径PATH3_遇到的问题3.1_输入java -version无效3.2_javac无效1_下载 2_配置环境变量 打开我的电脑&#xff0c;右击空白处点击属性 点击高级系统设置 点击环境变量…

c fputc 函数重写_使用示例的C语言中的fputc()函数

c fputc 函数重写C中的fputc()函数 (fputc() function in C) Prototype: 原型&#xff1a; int fputc(const char ch, FILE *filename);Parameters: 参数&#xff1a; const char ch, FILE *filenameReturn type: int 返回类型&#xff1a; int Use of function: 使用功能&a…

登陆 tomcat manager

想进去很简单 就在tomcat的配置文件 conf/tomcat-user.xml中加入 <role rolename"manager-gui"/><user username"dev" password"dev" roles"manager-gui"/> /* 而<role rolename"manager-gui"/>是指拥…

信息系统状态过程图_操作系统中的增强型过程状态图

信息系统状态过程图The enhanced process state diagram was introduced for maintaining the degree of multiprogramming by the Operating System. The degree of multiprogramming is the maximum number of processes that can be handled by the main memory at a partic…

Java中竟有18种队列?45张图!安排

今天我们来盘点一下Java中的Queue家族&#xff0c;总共涉及到18种Queue。这篇恐怕是市面上最全最细讲解Queue的。本篇主要内容如下&#xff1a;本篇主要内容帮你总结好的阻塞队列&#xff1a;18种Queue总结一、Queue自我介绍 队列原理图1.1 Queue自我介绍hi&#xff0c;大家好&…

ssh框架常见错误与解决方法

1.Class not Found Exception 异常.---->解决方法&#xff1a;在lib中加入两个jar包&#xff08;spring.jar与struts2- spring-plugin-2.1.8.1.jar&#xff09;&#xff1b;2.使用hql语句时出现java.lang.reflect.InvocationTargetException(即使用hql回调函数带参数时) 或…