模块:Accelerometer

Accelerometer模块管理设备加速度传感器,用于获取设备加速度信息,包括x(屏幕水平方向)、y(垂直屏幕水平方向)、z(垂直屏幕平面方向)三个方向的加速度信息。例如:微信的摇一摇,当你在摇晃手机的时候,上下左右都会产生一个相应的值,当这个值大于某一个值的时候,就可以确定是在摇晃手机了,这时就会做出响应;

首先所有HTML5+对象是放到 plus 里面的;其次是具体对象;accelerometer;然后是具体的方法:getCurrentAcceleration(); 获取当前设备的加速度信息;watchAcceleration(); 监听设备加速度变化信息;clearWatch(); 关闭监听设备加速度信息;

使用场景: 摇一摇,步数统计,报警系统,速度感应系统等

即时获取:当调用这个的时候,这个加速度是多少;

plus.accelerometer.getCurrentAcceleration(function(a){
alert( "Acceleration\nx:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis );
},function(e){
alert( "Acceleration error: " + e.message );
});

监听接口:每隔多长时间去获取下;(有点像JavaScript的定时器,开启定时器每隔多少时间去调用下,然后还可以取消)

看回调:successCB,errorCB,option

var wid = null; //监听返回的是一个ID
wid = plus.accelerometer.watchAcceleration(function(a){
var valStr = "Acceleration\nx:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis;
$("#info").html(valStr);
},function(e){
var valStr = "Acceleration error: " + e.message ;
$("#info").html(valStr);
},{frequency:'1000'});

停止监听

plus.accelerometer.clearWatch(wid); // 类似于清空定时器需要制定一个播放器

获取示例

<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">设备加速传感器</h1>
</header>
<div class="mui-content mui-content-padded">
<button type="button" id="btnGetAcc" class="mui-btn mui-btn-blue mui-btn-block">获取</button>
<button type="button" id="btnWatchAcc" class="mui-btn mui-btn-blue mui-btn-block">监听</button>
<button type="button" id="btnClearAcc" class="mui-btn mui-btn-blue mui-btn-block">停止监听</button>
<p id="info"></p>
</div>
<script src='http://libs.baidu.com/jquery/1.8.3/jquery.min.js'></script>
<script type="text/javascript" src="js/mui.js"></script>
<script type="text/javascript">
mui.plusReady(function(){
$("#btnGetAcc").bind('tap',function(){getAcc();});
$("#btnWatchAcc").bind('tap',function(){watchAcc();});
$("#btnClearAcc").bind('tap',function(){clearWatch();});
function getAcc(){
plus.accelerometer.getCurrentAcceleration(function(a){
alert( "Acceleration\nx:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis );
},function(e){
alert( "Acceleration error: " + e.message );
});
};
var wid = null;
function watchAcc(){
wid = plus.accelerometer.watchAcceleration(function(a){
var valStr = "Acceleration\nx:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis;
$("#info").html(valStr);
},function(e){
var valStr = "Acceleration error: " + e.message ;
$("#info").html(valStr);
},{frequency:'1000'});
}
function clearWatch(){
plus.accelerometer.clearWatch(wid);
}
});
</script>

设备加速传感器(accelerometer) ---- HTML5+的更多相关文章

  1. Xamarin Essentials教程使用加速度传感器Accelerometer

    Xamarin Essentials教程使用加速度传感器Accelerometer   加速度传感器是一种能够测量加速度的传感器,用于检测设备状态的改变.在Xamarin中,如果开发者想要使用加速度传 ...

  2. Swift - 加速传感器(CoreMotion)的用法,小球加速运动并反弹样例

    1,加速传感器可以监听到x,y,z三个方向的加速度,使用步骤如下: (1)实例化CMMotionManager类 (2)向CMMotionManager的accelerometerUpdateInte ...

  3. Android 获取加速传感器的值,并去除杂音

    1.注册和注销传感器 private void registerSensor() { manager.registerListener(this, manager.getDefaultSensor(S ...

  4. Pro Android学习笔记(一五四):传感器(4):陀螺仪、加速传感器

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei. 陀螺仪 陀螺仪(Gyr ...

  5. 移动设备wap手机网页html5通过特殊链接:打电话,发短信,发邮件详细教程

    如果需要在移动浏览器中实现拨打电话,调用sms发短信,发送email等功能,移动手机WEB页面(HTML5)Javascript提供的接口是一个好办法. 采用url href链接的方式,实现在Safa ...

  6. HTML5 移动开发(移动设备检测及对HTML5的支持)

    1.如何选择要使用的特性以及所面向的浏览器 2.哪些浏览器支持HTML5 3.如何检测是否支持HTML5 4.如何开发贷容错性的Web应用程序 5.CSS3媒体查询如何增强检测脚本   使用HTML5 ...

  7. 加速传感器(CoreMotion) swift

    // // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...

  8. Android_(传感器)获取手机中的传感器

    传感器是一种检测装置,能够感受被测量的信息,并能将检测和感受到的信息按一定规律变换成电信号或其它所需形式的信息输出 Android操作系统中内置了很多的传感器(物理装置),能够探测.感受外界的信号.物 ...

  9. Windows Phone 硬件检测

    private static bool IsWvga{ get { return App.Current.Host.Content.ScaleFactor == 100; }} private sta ...

随机推荐

  1. js导出execl

    var idTmr; function ExportExcel(tableid) {//整个表格拷贝到EXCEL中 var curTbl = document.getElementById(table ...

  2. 探索Java语言与JVM中的Lambda表达式

    Lambda表达式是自Java SE 5引入泛型以来最重大的Java语言新特性,本文是2012年度最后一期Java Magazine中的一篇文章,它介绍了Lamdba的设计初衷,应用场景与基本语法.( ...

  3. Hibernate的getTransaction()和beginTransaction()

    session.getTransaction()只是根据session获得一个Transaction实例,但是并没有启动它 session.beginTransaction()在获得一个Transac ...

  4. http的GET和POST

    本文主要内容 1.  GET和POST方法介绍 2.  源代码分析 3.  结果分析 4.  例子参考及引用: http://www.cnblogs.com/zhijianliutang/archiv ...

  5. mysql_query error:Commands out of sync;you can't run this command now

    MYSQL_REST *result没有释放, 用mysql_free_result(result)即可.

  6. e680. 使三元色图像变明变暗

    This example demonstrates how to brighten or darken an RGB buffered image by scaling the red, green, ...

  7. c/c++函数指针(3)

    原文地址:http://blog.csdn.net/qingshuiyangfan/article/details/7692647 学习要点: 1,函数地址的一般定义和typedef简化定义;     ...

  8. 【C++基础 05】友元函数和友元类

    友元是一种定义在类外部的普通函数或类,但它须要在类体内进行说明,为了与该类的成员函数加以差别,在说明时前面加以keywordfriend. 友元不是成员函数,可是它能够訪问类中的私有成员. 友元的作用 ...

  9. 第七章 使用 MyBatis API(MyBatis)

    使用 MyBatis-Spring,你可以继续直接使用 MyBatis 的 API.仅仅在代码中使用 Spring 中的 SqlSessionFactoryBean 来创建一个 SqlSessionF ...

  10. .net cs后台刷新aspx页面的四种方式

    一:Response.Redirect(Request.Url.ToString()); 二:Response.Write("<script language=javascript&g ...