cordova vibration插件——震动


介绍

这个插件是用于连接到设备的振动功能。

  

 

 

 

安装插件

cordova plugin add cordova-plugin-vibration

 

 

 

 

 

使用方法

这个插件定义了全局的对象包含着navigator.vibrate虽然在全局范围内,但是他们需要在deviceready事件之后才可用

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {

    console.log(navigator.vibrate);

}

 

 

 

 

支持的平台Supported Platforms

· Amazon Fire OS

· Android

· BlackBerry 10

· Firefox OS

· iOS

· Windows Phone 7 and 8

· Windows (Windows Phone 8.1 devices only)

 

 

 

 

 

方法

navigator.vibrate,
navigator.notification.vibrate

navigator.notification.vibrateWithPattern
navigator.notification.cancelVibration

 

 

 


  

 

目前cordova 7.0+ 新版本

震动 (推荐)

这个函数有三个不同的功能,根据传递给它的参数。

 

标准振动Standard vibrate

为振动装置给定一个时间。

时间:毫秒数给振动装置(数 

navigator.vibrate(time)

or

navigator.vibrate([time])

  

 

平台特性
iOS 特性

时间:忽略指定的时间和振动在预先设定的时间。

navigator.vibrate(3000); // 3000 is ignored3000被忽略

Windows and Blackberry Quirks

时间:最大时间是5000ms5S)和最小时间是1ms

navigator.vibrate(8000); // will be truncated to 5000变成5000

 

 

 

震动模式Vibrate with a pattern (Android and Windows only)

该装置与一个给定的模式振动

navigator.vibrate(pattern);

pattern:序列的持续时间(毫秒),打开或关闭振动器。(数字数组

 

 
平台特性
Windows Phone 8 特性

振动(模式)依靠振动与默认的持续时间

 

 

 

Cancel vibration (not supported in iOS)

立即取消所有当前正在运行的振动。

navigator.vibrate(0)

or

navigator.vibrate([])

or

navigator.vibrate([0])

通过在0个参数,一个空数组,或者一个价值0个元素的数组将取消任何振动。

 

 


 

cordova 版本

*notification.vibrate (不推荐使用)

振动装置给定一个时间。

navigator.notification.vibrate(time)

time:毫秒数给振动装置(数

 

 
平台特性
iOS 特性

time:忽略指定的时间和振动在预先设定的时间。

navigator.notification.vibrate();

navigator.notification.vibrate(2500);   // 2500 is ignored 忽略

 

 

  

 

 

*notification.vibrateWithPattern (不推荐使用)

该装置与一个给定的模式振动。

navigator.notification.vibrateWithPattern(pattern, repeat)

pattern:序列的持续时间(毫秒),打开或关闭振动器。(数字数组

repeat:可选指标纳入图案阵列,开始重复(重复直至取消),或1不重复(默认)。(数字)

 

  

 

 

*notification.cancelVibration (不推荐使用)

立即取消所有当前正在运行的振动。

navigator.notification.cancelVibration()

 

 

 

  

 

 

示例

index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8"/>
    <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">
    <meta name="format-detection" content="telephone=no">
    <meta name="msapplication-tap-highlight" content="no">
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
    <title>Hello World</title>
    <style>
        .line {
            padding: 5px;
        }
    </style>
</head>
<body>
<div class="app">
    <div class="line"><button id = "vibrate">标准震动</button></div>
    <div class="line"><button id = "vibrationPattern">自定义震动</button></div>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
</body>
</html>

  

index.js

var app = {
   initialize: function() {
      document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
   },
   onDeviceReady: function() {
      this.receivedEvent();
   },
   $$: function(id) {
      return document.getElementById(id);
   },
   // 震动插件
   receivedEvent: function(){
      this.$$("vibrate").addEventListener("click", vibration);
      this.$$("vibrationPattern").addEventListener("click", vibrationPattern);

      // 此参数用于设置的震动的持续时间,震动3秒。
      function vibration() {
            var time = 3000;
            navigator.vibrate(time);
            console.log("触发了标准震动")
      }

      // 震动1秒,等待1秒,震动3秒,等待1秒,震动5秒。
      function vibrationPattern() {
            var pattern = [1000, 1000, 3000, 1000, 5000];
            navigator.vibrate(pattern);
            console.log("触发了自定义震动")
      }

   }
};

app.initialize();

 

 

运行:

必须要使用真机测试!

点击“标准震动”,震动3秒钟。

点击“自定义震动”,震动1秒,等待1秒,震动3秒,等待1秒,震动5秒。




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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值