PhoneGap中文网

 找回密码
 立即注册
查看: 12869|回复: 3
打印 上一主题 下一主题

phonegap3.4摇一摇功能问题

[复制链接]

2

主题

5

帖子

24

积分

新手上路

Rank: 1

积分
24
跳转到指定楼层
楼主
发表于 2014-3-23 14:43:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. var watchShakeID = null;
  2. var oldValue = {
  3.     x: null,
  4.     y: null,
  5.     z: null
  6. };

  7. var app = {
  8.     // Application Constructor
  9.     initialize: function() {
  10.         this.bindEvents();
  11.     },
  12.     // Bind Event Listeners
  13.     //
  14.     // Bind any events that are required on startup. Common events are:
  15.     // 'load', 'deviceready', 'offline', and 'online'.
  16.     bindEvents: function() {
  17.         document.addEventListener('deviceready', this.onDeviceReady, false);
  18.     },
  19.     // deviceready Event Handler
  20.     //
  21.     // The scope of 'this' is the event. In order to call the 'receivedEvent'
  22.     // function, we must explicity call 'app.receivedEvent(...);'
  23.    
  24.    
  25.     onDeviceReady: function() {
  26.         //app.receivedEvent('deviceready');
  27.         goto_StartWatchShake();
  28.     }//,
  29.     // Update DOM on a Received Event
  30.     /*receivedEvent: function(id) {
  31.         var parentElement = document.getElementById(id);
  32.         var listeningElement = parentElement.querySelector('.listening');
  33.         var receivedElement = parentElement.querySelector('.received');

  34.         listeningElement.setAttribute('style', 'display:none;');
  35.         receivedElement.setAttribute('style', 'display:block;');

  36.         console.log('Received Event: ' + id);
  37.     }*/
  38. };

  39. function goto_StopWatchShake() {
  40.     if (watchShakeID) {
  41.         navigator.accelerometer.clearWatch(watchShakeID);
  42.         watchShakeID = null;
  43.     }
  44. }
  45. function goto_StartWatchShake() {
  46.     var options = { frequency: 3000 };
  47.     watchShakeID = navigator.accelerometer.watchAcceleration(onWatchShakeSuccess, onWatchShakeError, options);
  48.     alert(watchShakeID);
  49. }

  50. function onWatchShakeSuccess(newValue) {
  51.     alert(newValue.x);
  52.     var changes = {},
  53.     bound = 2;
  54.     if (oldValue.x !== null) {
  55.         changes.x = Math.abs(oldValue.x-newValue.x);
  56.         changes.y = Math.abs(oldValue.y-newValue.y);
  57.         changes.z = Math.abs(oldValue.z-newValue.z);
  58.     }
  59.     if ((changes.x > bound && changes.y > bound) || (changes.x > bound && changes.z >bound)|| (changes.y > bound && changes.z >bound)) {
  60.         alert('检测到手机晃动');
  61.     }
  62.     oldValue = {
  63.     x: newValue.x,
  64.     y: newValue.y,
  65.     z: newValue.z
  66.     }

  67. }

  68. function onWatchShakeError() {
  69.     alert('失败');
  70. }
复制代码


在xcode 5.1调试时候,在模拟器----硬件---摇动手势
没有任何反应。。。。  有大神了解是什么问题么?
在安卓机器下可以弹出 x数值
但是在 ios下,只弹出了 alert(watchShakeID);  后续的坐标不能弹出来
回复

使用道具 举报

493

主题

2035

帖子

6894

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6894
沙发
发表于 2014-3-25 09:22:08 | 只看该作者
用真机调试一下  模拟器可能没有那个设备
回复 支持 反对

使用道具 举报

0

主题

19

帖子

53

积分

注册会员

Rank: 2

积分
53
板凳
发表于 2015-5-26 18:00:38 | 只看该作者
很不错,不错,学习学习。跨平台得顶起
回复 支持 反对

使用道具 举报

0

主题

19

帖子

53

积分

注册会员

Rank: 2

积分
53
地板
发表于 2015-5-26 18:15:38 | 只看该作者
人不错,学习学习 感觉phonegap+html应该是趋势
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2025-1-6 18:39 , Processed in 0.049588 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表