《微信小程序开发从入门到实战》学习八十七

2024-01-20 19:44

本文主要是介绍《微信小程序开发从入门到实战》学习八十七,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

6.15 设备API

6.15.7 加速计API

对手机加速度的监听默认是关闭的。需要监听时调用wx.startAccelerometer接口开启监听。使用wx.onAccelerometerChange获取监听到的加速度数据。不需要监听加速度数据时可使用wx.stopAccelerometer关闭监听。示例代码如下:

    // 开始监听

    wx.startAccelerometer({

      interval: 'game', // 监听加速度数据回调函数的执行的周期

      success() {

        // 设置回调函数接收加速度数据

        wx.onAccelerometerChange(res => {

          console.log(res.x) // x轴方向上的加速度

          console.log(res.y) // y轴方向上的加速度

          console.log(res.z) // z轴方向上的加速度

        })

        // 5秒后关闭监听

        setTimeout(() => {

          wx.stopAccelerometer()

        }, 5000)

      }

    })

调用wx.startAccelerometer可传入interval属性,设置监听回调函数的执行周期。interval的默认设置为normal,即普通的回调周期,在200毫秒/次左右。

从基础库2.1.0版本开始,interval支持传入game和ui两值。

game表示用于更新游戏的回调周期,在20毫秒/次左右。

ui表示用于适用于UI回调周期,在60毫秒/次左右。

根据机型性能、当前CPU与内存的占用情况,interval的设置与实际wx.onAccelerometerChange()回调函数的执行周期会有一些出入。

6.15.8 罗盘API

智能手机一般都内置了罗盘,可检测到手机面对的方向对数

对手机方向的监听默认是关闭的。需要监听时调用wx.startCompass接口开启监听。使用wx.onCompassChange获取监听到的方向数据以及数据精度。不需要监听时可使用wx.stopCompass关闭监听。与加速计API使用方式相似。示例代码如下:

    // 开始监听

    wx.startCompass({

      success() {

        // 设置回调函数接收罗盘数据

        wx.onCompassChange(res => {

          console.log(res.direction) // 面对的方向度数,number类型

          console.log(res.accurancy) // 精度,基础库2.4.0版本开始支持

        })

        // 5秒后关闭监听

        setTimeout(() => {

          wx.stopCompass()

        }, 5000)

      }

    })

表示方向的direction为number类型。0表示正北,当手机顺时针旋转时该值开始逐渐增大,至360时刚好旋转一周,并重新变为0。

表示精度的accuracy从基础库2.4.0版本开始支持。平台差异,accuracy在iOS和Android系统的值不同。

accuracy在iOS是number类型的值。表示相对于磁北极的偏差。0表示设备指向磁北,90表示指向东,180表示指向南,以此类推。

accuracy在Android系统是一个string类型的值。有效值如下:

high:高精度

medium:中等精度

low:低精度

no-contact:不可信,传感器失去连接

unreliable:不可信,原因未知

unknown:未知的精度枚举值,即该Android系统此时返回的表示精度的值不是一个标准的精度枚举值

这篇关于《微信小程序开发从入门到实战》学习八十七的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/627120

相关文章

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试