由于我开发过程中用的是苹果的手机,并没有在安卓平台上测试过,而且也没有在其他分辨率的手机上跑过,大概率会存在很多兼容性、适配问题。所以准备在其他手机上测试一下。
发现的问题点:
1. 苹果和安卓返回的设备信息不一样。
1) 安卓返回的设备信息:
2) 苹果返回的设备信息:
安卓返回的设备信息的devicdId直接是MAC地址,而苹果返回的设备信息是类型于UUID的字符串,所以解析MAC地址的时候,要根据情况做处理,不然解析的时候会有异常。
2. 手机分辨率适配问题
虽然用了微信的自适应单位‘rpx’,在安卓手机上显示就有问题,而且我手机分辨率还是1920*1080的,为啥显示还有问题,具体原因还是不知道了,只能去做适配调整了。
3. 文本输入框的内容会透过弹出框显示
这个问题在苹果的手机上不会出现,但是在安卓手机上就会出现。哭晕。
1) 最初我以为是遮罩半透明导致的,把遮罩改为不透明,还是有这个问题。
2) 可能是文本输入框显示层级高于了弹出框,然后修改了文本输入框的z-index,还是会。
3) 最后尝试修改了弹出框的内容层的z-index,然后就可以了。这个地方不知道是不是微信小程序的BUG,理论上来说,弹出框层的view是包括了弹出框内容层的view的,相当于内容层是弹窗框层的一个子view,我其实已经设置了弹出层的view的z-index在最上层,那么里面的子view层级应该也是在最上层才对。
4. 在安卓手机上获取特征值列表的信息里面不包含deviceId和serviceId属性。
当发现有这个问题的时候,很是郁闷,因为获取特征值列表本来就是异步的,如果返回的特征值信息里面不包含deviceId和serviceId属性,那么就得同步一个一个去获取,否则就不知道返回的是那个服务ID的特征值列表了。
安卓的特征值列表:
苹果的特征值列表: