开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
基础 api
基础
应用级事件
界面
跳转
多媒体
缓存
文件
位置
网络
设备
系统信息
网络状态
截屏
剪贴板
摇一摇
振动
加速度计
陀螺仪
罗盘
设备方向
拨打电话
获取服务器时间
用户截屏事件
屏幕亮度
设置
添加手机联系人
无障碍
权限引导
扫码
内存不足告警
获取设备电量
蓝牙
低功耗蓝牙
传统蓝牙
ibeacon
wi-fi
短信
worker
数据安全
分享
收藏
自定义通用菜单
更新管理
web-view组件控制
升级支付宝最新版本
隐私信息授权
小程序广告
开放能力 api
开发 > api > 基础 api > 设备 > 蓝牙 > 传统蓝牙 > my.startbluetoothdevicesdiscovery
评论
收藏
我的文档
设置

my.startbluetoothdevicesdiscovery(object object)

allowduplicateskeyinterval参数,从支付宝客户端 10.0.20 版本开始支持。 该操作比较耗费系统资源,请在搜索并连接到设备后调用 my.stopbluetoothdevicesdiscovery api 停止搜索。

小程序开发者工具: 不支持。ide上暂不支持,请在真机上测试。

主体: 企业支付宝小程序个人支付宝小程序

开始搜索附近的蓝牙外围设备。

请使用 my.onbluetoothdevicefound 注册监听函数,接收搜索发现的蓝牙设备信息。

object object

查看示例

属性 类型 默认值 必填 描述
allowduplicateskey boolean -

是否允许重复上报同一设备。如果允许重复上报,则 my.onbluetoothdevicefound 方法会多次上报同一设备,但是 rssi 值会有不同

interval number -

上报设备的间隔,单位:毫秒(ms)。如果不设置该参数值则找到新设备立即上报,设置该参数值则根据传入的时间间隔上报

services array -

蓝牙设备主 service 的 uuid 列表

success function -

调用成功的回调函数

fail function -

调用失败的回调函数

complete function -

调用结束的回调函数(调用成功、失败都会执行)

fail 回调的参数为 object,error 属性为错误码,errormessage属性为错误消息。
错误码的详细信息请查看蓝牙 api 错误码对照表

代码示例
扫码体验
my.startbluetoothdevicesdiscovery axml 代码
my.startbluetoothdevicesdiscovery js 代码
<button type="primary" ontap="startbluetoothdevicesdiscovery">开始搜索button>
page({
  data: {
    deviceid: "",
    name: "ipad",
  },
  // 扫描蓝牙设备
  startbluetoothdevicesdiscovery() {
    my.startbluetoothdevicesdiscovery({
      success: () => {
        my.onbluetoothdevicefound((res) => {
          var devicearray = res.devices;
          for (var i = devicearray.length - 1; i >= 0; i--) {
            var deviceobj = devicearray[i];
            // 通过设备名称或者广播数据匹配目标设备,然后记录deviceid后面使用。
            if (deviceobj.name == this.data.name) {
              my.alert({ content: "目标设备被找到" });
              my.offbluetoothdevicefound();
              this.setdata({
                deviceid: deviceobj.deviceid,
              });
              break;
            }
          }
        });
      },
      fail: (error) => {
        console.error('启动扫描失败: ', json.stringify(error));
        // 10019 是安卓端专有错误码,当设备没开启定位权限,会出现10019错误码。可使用 showauthguide api 引导用户开启定位权限
        if (error.error === 10019) {
          my.showauthguide({
            authtype: "lbs",
            success: (res) => {
              console.log(res.shown);
            },
            fail: (error) => {
              console.error('showauthguide failed: ', json.stringify(error));
            },
          });
        }
      },
    });
  },
  // 停止扫描
  stopbluetoothdevicesdiscovery() {
    my.stopbluetoothdevicesdiscovery({
      success: (res) => {
        my.offbluetoothdevicefound();
        my.alert({ content: "操作成功!" });
      },
      fail: (error) => {
        console.error('停止扫描失败: ', json.stringify(error));
      },
    });
  },
});
  • tip
    安卓下部分机型需要有位置权限才能搜索到设备,否则会报错(错误码 10019)。
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图