Android和ios都有问题么.. android用的是系统接口,每包接受的大小是有限制的,20个字节.. 这里最好可以试试https://github.com/search?q=ble原生app看看有没有类似问题,降低排查问题的难度。万分感谢
小程序蓝牙读取大量数据会丢包- 当前 Bug 的表现(可附上截图) - 预期表现 - 复现路径 - 提供一个最简复现 Demo notifyBLECharacteristicValueChange: function (){ var that = this; wx.notifyBLECharacteristicValueChange({ state: true, // 启用 notify 功能 deviceId: that.data.deviceId, serviceId: that.data.serviceId, characteristicId: that.data.notifyCharacteristicId, success: function (res) { console.log("notify启动成功"); setTimeout(function (){ // ble.monitor_ble(that.data.deviceId,that.data.serviceId,that.data.writeCharacteristicId); ble.refresh_ble(that.data.connected,that.data.deviceId, that.data.serviceId, that.data.writeCharacteristicId); }//这个是我做的一个发送刷新命令的函数 ,2000 ); setTimeout(function () { wx.hideToast(); }, 2000); }, fail: function (res) { wx.showToast({ title: 'notify启动失败', mask: true }); } }) }, /***我把那条函数封装成模块了*/ function ble_write_fun(orderStr, deviceId, serviceId, writeId) { console.log("orderStr:", orderStr); let order = utils.stringToBytes(orderStr);//字符串转byte let byteLength = order.byteLength; console.log("byteLength:", byteLength); wx.writeBLECharacteristicValue({ deviceId: deviceId, serviceId: serviceId, characteristicId: writeId, // 这里的value是ArrayBuffer类型(二进制数组) value: order.slice(0, 20),//从0-20个字节的数据 success: function (res) { // console.log("value:", utils.ab2str(order)); onBLECharacteristicValueChange(deviceId, serviceId, writeId); }, fail: function (res) { console.log("res:", res); } }) } function onBLECharacteristicValueChange(deviceId, serviceId, writeId) { wx.onBLECharacteristicValueChange(function (res) { console.log("res.value:", utils.ab2str(res.value)); var resValueStr = utils.ab2str(res.value);//2进制数组转成字符串 console.log("读到字符串", resValueStr); rev_page_parse(resValueStr,deviceId, serviceId, writeId); }); } function refreshPara(connected, deviceId, serviceId, writeId) { if (connected) { ble_write_fun(get_cmd, deviceId, serviceId, writeId);//写入发送 } else { app.showModal1("蓝牙已断开"); } } 问题是这样。我发送一个刷新命令后开始监听读取数据。数据很小到问题不明显,设备发了528个字节。。然后在APP看到是完整收到,换成小程序后收到的是断断续续不确定。然后设备分包成20个字节发送出来,结论也一样,设备延时发送也一样,,问题是啥情况。。设备发送的数据[图片][图片] [图片]
2019-04-17Android小程序也是直接暴露的ble相关接口,理论上不应该和原生app有太大差别 --- 能否加一下微信问问具体的情况?
onBluetoothDeviceFound搜索很慢并且有时搜索不到设备- 当前 Bug 的表现(可附上截图) 在蓝牙开启的情况下 startBluetoothDevicesDiscovery 成功后 onBluetoothDeviceFound 经常性搜索不到设备, 并且特别慢, 手机原生 App却没有这个问题 onBluetoothDeviceFound 每次都有返回搜索到的蓝牙数据, 定位权限打开了的, 经常性搜索要花10s以上, 并且远距离的设备已经搜到很久了 , 近距离的设备搜索很久都搜不到, 我设置的超时时间为20s , 请官方大佬尽快修复, 老板经常催 - 预期表现 期望和原生 App 一致, 搜索不要经常出现搜索不到设备或搜索很久才出现设备的情况 - 复现路径 - 提供一个最简复现 Demo wx.openBluetoothAdapter({ success: function(res) { wx.startBluetoothDevicesDiscovery({ services: [[]], success: function(startRes) { console.log('开启搜索成功'); data.isTimeOut = true; clearTimeout(data.timeoutID); wx.onBluetoothDeviceFound( function(devices) { console.log('扫描onBluetoothDeviceFound返回的内容为 = ' + JSON.stringify(devices));
2019-04-17小程序目前只支持BLE设备噢,和系统本身提供的接口是对齐的。
小程序可以和蓝牙模块通信吗近期本公司准备开发项圈项目,需要小程序连接设备的蓝牙模块,有几个问题想请教一下 1,一个小程序可以同时连接多少个蓝牙模块 2,小程序是实时读取到设备采集的数据信息吗
2019-04-121. 前有回复说onBluetoothDeviceFound会提示打开定位 --- 并没有这种参数,自己搞吧 2. 可以这么搞 严格策略: 可直接getSystemInfo判断是否有位置权限(系统对微信小程序权限)&位置开关是否打开,若无则提醒用户打开 其他策略:(非全部手机都需要位置权限才能搜索) 调用start后,定时检测下是否有搜索到设备,一般一个设备都没有搜索到就是因为位置的原因导致,提醒用户打开 ps: Android会有这何种问题。
部分手机如oppo使用低功耗蓝牙时无法搜索到设备,定位没有打开的提示部分手机如oppo使用低功耗蓝牙时无法搜索到设备,官方问答中有提到需要打开定位才能搜索到,并且wx.onBluetoothDeviceFound()会提示没有打开GPS,但是我试了下搜索不到蓝牙时不会触发wx.onBluetoothDeviceFound(),请问有没有人知道怎么写才能看到定位没有打开的提示 [图片] 下图是用OPPO r15测试文档里的例子 wx.onBluetoothDeviceFound((res) => { console.log(res); }) 这样写貌似不行,只有有设备时console.log里面才会有内容,报错内容怎么写才能看到呢? 代码片段就是文档给的例子,我在onBluetoothDeviceFound里面加了console.log,打印出来是undefined(下图1),openBluetoothAdapter和startBluetoothDevicesDiscovery都成功了 [图片] [图片]
2019-04-11map地图组建定位准确度不高经常出现定位点在跑步过程中停止移动的现象 --- 这是怎么实现的?用的map的show-location还是getLocation接口? map地图中锁屏解锁后出现点位漂移的现象,而且时常无法回归正常点位且一直不动 听起来像个bug ... android退后台后会关掉定位省电,但你描述的这种情况是小程序还在前台只是锁屏,应该是错误地关掉了定位。
map/wx.getLocation出现定位不动的情况- 当前 Bug 的表现(可附上截图) 微信操场跑圈过程中出现如下问题: 1、map地图组建定位准确度不高经常出现定位点在跑步过程中停止移动的现象。 2、map地图中锁屏解锁后出现点位漂移的现象,而且时常无法回归正常点位且一直不动。 3、以上问题时不时出现,用户反馈体验差定位不准确,感觉地图缓存干扰正常定位过大,建议能够让开发者直接获取手机GPS的数据。 - 预期表现 [图片] - 复现路径 如上图问题锁屏解锁后出现,而且关键是定位会停止移动!!!不管走到哪都是显示那里! - 提供一个最简复现 Demo 该BUG经过多次测试确认该情况复现的具体方式如下: 就拿腾讯地图小程序为例,本人手机小米mix2s,不过相信多数手机都有该情况。 1、使用4G流量网络(wifi情况测试无此bug) 2、打卡腾讯地图+小程序 3、锁屏后3秒内解锁会出现手机定位功能自动关闭的情况 4、再次锁屏解锁,恢复定位情况 5、如果第三步锁屏时间超过一定时间5-10秒为例,解锁后定位功能正常。 根据上述测试复现结果表明,在4g网络下或者移动网络下,小程序map组件所使用微信持续定位功能存在BUG:锁屏后小程序在后台运行,而后台运行系统会自动关闭记录GPS,但是需要延迟3-5秒关闭。就是在这3-5秒内锁屏解锁打开GPS的逻辑和关闭GPS的逻辑指令出现冲突,导致无法正常开启GPS功能进而造成定位停止的情况,望官方尽快修复。测试情况为我个人测试结果仅供参考,还请官方给予测试结果。
2019-04-04我来跟进下这个问题. 看了下日志没有什么异常,主要还是拿不到基站信息导致的,这个错误码的意思也是这样子。 ---- 能否再通过aidoukj微信号复现下问题?我后台配置了日志开关,这样日志多一点。
wx.getLocation 部分机型4G网络下经常走fail- 当前 Bug 的表现(可附上截图) 部分机型(如小米MIX2S),4G网络经常定位失败 [图片] - 预期表现 这应该是一个老问题了,至今都没有解决方案嘛?没有兼容的解决方案?
2019-04-031. 你好,这个提示是周围没有基站并且没有连接wifi拿不到位置信息哈 ---- 补充下,有基站也可能拿不到定位的噢,有可能是手机不给gps定位,检查下位置服务有个高低精度定位的选项的。 2 我->设置->帮助与反馈->右上角扳手上传日志,并提供微信号与时间点。 ----- 也有可能是客户端的bug,可以按这个方式给个日志,我瞅瞅日志
getLocation:fail:ERROR_NOCELL&WIFI_LOCAL已经授权情况下:获取位置信息:errCode:2 getLocation:fail:ERROR_NOCELL&WIFI_LOCALTIONSWITCHOFF [图片]
2019-03-27听描述是能正确地跳到Android APP对应的WXEntryActivity? ----- [图片] https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417751808&token=&lang=zh_CN 看看是不是这个问题..
Android APP打开小程序返回APP onResp方法没有回调- 当前 Bug 的表现(可附上截图) Android能够正常唤醒小程序,点击返回按钮,也能返回到App;但是返回到APP原界面不能点击,查看日志看到WXEntryActivity触发onCreated方法,没有触发onResp方法;最终导致创建了一个透明的WXEntryActivity覆盖在原来的界面上 - 预期表现 返回到原APP能够正常操作;并且能够正常接收小程序返回的参数 -代码片段 WXEntryActivity界面在清单文件中设置了taskAffinity和launchMode属性 启动微信小程序代码片段 IWXAPI api = WXAPIFactory.createWXAPI(context, WeChatTool.WECHAT_APPID); WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req(); // 填小程序原始id req.userName = WeChatTool.WECHAT_CHECKIN; // 可选打开 开发版,体验版和正式版 req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW ; api.sendReq(req);
2019-03-22我来跟进下这个问题 我看了你的日志并没有相关信息,方便再复现,然后再上传次日志么.. -- ps 如果复现不了,那就直接再上传吧,thx
wx.getLocation()获取经纬度偶尔偏差太大,需要分享位置才能获取正确- 当前 Bug 的表现(可附上截图) 在用微信小程序调用wx.getLocation()时,偶尔经纬度偏差很大,并根据获取经纬度获取具体位置信息https://apis.map.qq.com/ws/geocoder/v1/,没有获取到位置信息(红色圈里正常会显示具体位置信息),计算与目的地距离,显示10120.38千米,关闭小程序,关闭微信,重新进入也不行,需要在微信中分享下自己的位置信息,再获取经纬度才获取正确 微信号:yare007 微信版本:7.0.3 手机型号:华为mate10 alp-al00,具体日志信息已上传,上传时间大概是今天10.50分 [图片]
2019-03-15听起来是ping一下,发起请求就知道网络通不通了.
微信小程序连接Portal wifi网络,怎么获取wifi认证状态- 需求的场景描述(希望解决的问题) https://developers.weixin.qq.com/miniprogram/dev/api/wx.stopWifi.html 通过Api 连接上Portal 网络后,安卓系统会弹出认证页,需要用户认证,此时的手机无线网列表里已连接wifi上有个标志(类似需要登陆认证)状态。认证完成可以上网,(这个认证是在portal上进行,跟小程序无关,只是控制当前设备是否可以上网) - 希望提供的能力 小程序有api 可以获取到这个状态吗?或者现有的接口可以获取到这个状态? 或者获取有api可以获取当前手机是否可以上网? ps: WIFI一键连 (腾讯wifi管家的) 小程序有这个功能,不知道怎么实现的,目前从文档上没有找到突破口,不知道有没有朋友知道怎么获取这个状态?
2019-03-12