Android震动---启动、循环、取消控制

今天在做闹钟Demo的时候,想加上闹钟到期提醒的时候实现震动功能,就上网大概查了下Android中震动的相关资料,总体来说还是蛮简单的。

Android中的Vibrator 类负责对手机震动的处理

导包:import android.os.Vibrator;
加权限:<uses-permission android:name="android.permission.VIBRATE" />

先大概介绍下常用的几个方法:

方法描述
public void cancel()取消震动
public boolean hasVibrator()判断当前是否在震动
public void vibrate(long[] pattern, int repeat)设置震动周期,如果repeat为-1则不循环震动,0表示一直震动
public void vibrate(long milliseconds)打开震动,设置震动时长,1000为1秒

1、首先要获取到Vibrator的实例,这个和获取AlarmManger比较类似,获取系统服务,代码如下:

    private Vibrator vibrator=null;
    vibrator = ( Vibrator ) getApplication().getSystemService(Service.VIBRATOR_SERVICE);

2、开启震动,这里有两个方式,在上面给出,一个参数(不能设置循环)、多个参数(可设置循环)

vibrator.vibrate(1000);//震动一秒
//long型数组内的数组依次表示:等待1秒、震动2秒、等待3秒、震动4秒,0表示无限循环long型数组内定义的震动规则;如果是-1则表示不循环震动
vibrator.vibrate( new long[]{1000,2000,3000,4000},0);

需要说明的是,不管后边的是0、1、2、3等,都会先把Long型数组内的震动模式执行一遍,之后,如果是2,则表示把第一遍执行完之后把1000移除,循环{2000,3000,4000}这样,只不过是模式变为震动、等待、震动。。。

3、取消震动

//取消该实例的震动
vibrator.cancel(); 

最后大家不要忘了加上相应的权限,还有记得运行的时候不要忘了在真机上运行,模拟器不支持震动。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值