微信小程序设备信息API

微信小程序设备信息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

拨打电话

微信小程序可以直接调用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(){
    // 不管成功失败都会执行
  }
})

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!