微信小程序设备信息API,本文主要介绍微信小程序提供的获取用户设备信息的API,如屏幕的尺寸、亮度、设备信息等,同时还会介绍一些拨打电话、获取用户剪切板等功能。微信团队针对一些接口,还设计了同步和异步的概念,同步操作执行完成后会再往下继续执行,异步操作不管执行的结果,直接往下执行,也就是说异步操作不确定什么时候执行完成。
获取设备信息
wx.getSystemInfo异步获取设备的信息,在成功回调中有设备的信息。wx.getSystemInfoSync
同步获取设备的信息,在成功回调中有设备的信息。
wx.getSystemInfo({
success: funcation(res){
// 获取设备信息成功
res.brand // 手机品牌
res.model // 手机型号
res.pixelRatio // 设备像素比
res.screenWidth // 屏幕宽度
res.screenHeight // 屏幕高度
res.windowWidth // 可使用窗口宽度
res.windowHeight // 可使用窗口高度
res.statusBarHeight // 状态栏高度
res.language // 微信设置的语言
res.version // 微信版本号
res.system // 操作系统版本
res.platform // 客户端平台
res.fontSizeSetting // 用户字体大小设置
res.SDKVersion // 客户端基础版本号
res.benchmarkLeveel // 性能等级,越大越好
},
fail: funcation(){
// 获取设备信息失败
},
complete: funcation(){
// 不管成功失败都会执行
}
})
屏幕亮度
wx.getScreenBrightness():获取屏幕亮度,示例代码如下:
wx.getSystemInfo({
success: funcation(res){
// 获取成功
res.value // 屏幕亮度值,范围0~1,值越大越亮
},
fail: funcation(){
// 获取失败
},
complete: funcation(){
// 不管成功失败都会执行
}
})
wx.setScreenBrightness():设置屏幕亮度,示例代码如下:
wx.setSystemInfo({
value: 0.5, // 屏幕亮度值,范围0~1,值越大越亮
success: funcation(){
// 设置成功
},
fail: funcation(){
// 设置失败
},
complete: funcation(){
// 不管成功失败都会执行
}
})
wx.setKeepScreenOn():设置屏幕常量,只在当前小程序前台运行时有效,进入后台或关闭时失效。
wx.setKeepScreenOn({
keepScreenOn: true, //boolean类型,是否保持屏幕常量
success: funcation(){
// 设置成功
},
fail: funcation(){
// 设置失败
},
complete: funcation(){
// 不管成功失败都会执行
}
})
获取设备电量
wx.getBatteryInfo()异步获取设备电量信息,在成功回调中,会有设备的电量信息。wx.getBattery InfoSync()
同步获取设备电量信息,在iOS上不可使用。
wx.getBatteryInfo({
success: funcation(res){
// 获取成功
res.level// 设备电量,范围1~100
res.isCharging //boolean类型,是否正在充电
},
fail: funcation(){
// 获取失败
},
complete: funcation(){
// 不管成功失败都会执行
}
})
设备剪切板
程序有时会有复制粘贴的需求,开发者也可以通过API来设置、获取设备的剪切板内容。
wx.getClipboardData():获取设备的剪切板内容,示例代码如下:
wx.getClipboardData ({
success: funcation(res){
// 获取成功
res.data // 设备剪切板内容
},
fail: funcation(){
// 获取失败
},
complete: funcation(){
// 不管成功失败都会执行
}
})
wx.setClipboardData():设置设备的剪切板内容,示例代码如下:
wx.setClipboardData ({
data: 'string', // 设置设备剪切板内容
success: funcation(){
// 设置成功
},
fail: funcation(){
// 设置失败
},
complete: funcation(){
// 不管成功失败都会执行
}
})
设备方向
看视频时有时需要监听设备的方向来进行不同的布局切换,这时可以通过微信团队提供的API来获取设备的方向进行对应的操作。
wx.startDeviceMotionListening():开始监听设备方向的变化,示例代码如下:
wx.startDeviceMotionListening ({
interval: 'normal', // 监听设备方向变化回调函数的执行频率
success: funcation(){
// 设置成功
},
fail: funcation(){
// 设置失败
},
complete: funcation(){
// 不管成功失败都会执行
}
})
interval的有效值:
- game:适用于游戏类,回调频率在20ms/s左右。
- ui:适用于更新UI类,回调频率在60ms/s左右。
- normal:普通的回调频率,回调频率在200ms/s左右。
wx.stopDeviceMotionListening():停止监听设备方向的变化,示例代码如下:
wx.stopDeviceMotionListening ({
success: funcation(){
// 设置成功
},
fail: funcation(){
// 设置失败
},
complete: funcation(){
// 不管成功失败都会执行
}
})
wx.onDeviceMotionChange():监听设备方向的变化事件,频率根据interval的设置值确定,如果停止了监听设备方向的变化,则不会再有结果返回。示例代码如下:
wx.onDeviceMotionChange: funcation(res){
res.alpha // 当手机坐标 X/Y 和 地球 X/Y 重合时,绕着Z轴转动的夹角为 alpha,范围值为 [0,
// 2*PI]。逆时针转动为正
res.beta // 当手机坐标 Y/Z 和地球 Y/Z 重合时,绕着X轴转动的夹角为 beta。范围值为 [-1*PI,
//PI] 。顶部朝着地球表面转动为正,也有可能朝着用户为正
res.gamma // 当手机 X/Z 和地球 X/Z 重合时,绕着Y轴转动的夹角为 gamma。范围值为 [-1*PI/2,
// PI/2]。右边朝着地球表面转动为正
}
设备网络
获取设备网络的状态,可以在没有网络的时候给用户无网络的提示,以提醒用户网络状态。wx.getNetworkType():获取当前的网络类型,示例代码如下:
wx.getNetworkType({
success: funcation(res){
// 获取成功
res.networkType // 网络类型
},
fail: funcation(){
// 获取失败
},
complete: funcation(){
// 不管成功失败都会执行
}
})
res.networkType
的合法值,如表所示:
拨打电话
微信小程序可以直接调用API跳转到拨号页面,实现打电话的功能。
wx.makePhoneCall({
phoneNumber: '手机号码'
success: funcation(res){
// 设置成功
},
fail: funcation(){
// 设置失败
},
complete: funcation(){
// 不管成功失败都会执行
}
})
扫描二维码
微信小程序可以直接调用API跳转到二维码扫描页面,进行二维码的扫描。此页面由微信团队定义,开发者不能进行修改。
wx.scanCode({
onlyFromCamera: false, // 是否只能从相机扫码,不允许从相册选择图片
scanType: ['barCode','qrCode'], // 扫码类型"barCode"为一维码,"qrCode"为二维码,
//"datamatrix"Data Matrix码,"pdf417"PDF417码
success: funcation(res){
// 获取成功
res.result // 所扫码内容
res.scanType // 所扫码类型
res.charSet // 所扫码字符集
res.path // 二维码携带的path
res.rawData // 原始数据,base64编码
},
fail: funcation(){
// 获取失败
},
complete: funcation(){
// 不管成功失败都会执行
}
})
酷客网相关文章:
评论前必须登录!
注册