低价位小菜
低价位小菜
  • 发布:2019-07-05 12:00
  • 更新:2019-07-18 10:42
  • 阅读:2908

在安卓手机上做蓝牙自动配对的功能(pin码自动输入不跳窗口)

分类:uni-app

查了一下,基本都是要用setPin()
Android 蓝牙pin自动配对ClsUtils类中的
不清楚uni-app中是否有ClsUtils类
而且看了原生的文档在BluetoothDevice中也有一个setPin不知道是不是同一个
https://www.android-doc.com/reference/android/bluetooth/BluetoothDevice.html
如果要用nativejs来做的话要怎么做,始终找不到调用setPin的方法

2019-07-05 12:00 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com - 嗯嗯嗯,撂了吧,我写bug呢。

我也发愁呢,device 里有 createBond() 方法,也有 setPin() 方法,createBond 能用,能弹出配对对话框,但是 setPin 会报错,
Attempt to invoke virtual method 'java.lang.Class java.lang.reflect.Method.getReturnType()' on a null object reference;at android.bluetooth.BluetoothDevice.setPin at ....

  • 低价位小菜 (作者)

    是的,我也是卡在这个地方,之前大佬有给我意见说是用安卓原生引入类库做成一个可以用的uni-app插件来使用

    2019-07-18 14:48

  • 2***@qq.com

    回复 低价位小菜: 他的意思是做原生插件,这个是可以,原生可以实现自动配对,但是 js 其他的都有了,就差这一个 setPin了,感觉不值当的,而且还得本地打包。

    2019-07-18 17:45

  • 2***@qq.com

            Method removeBondMethod = btClass.getDeclaredMethod("setPin", new Class[] {byte[].class});  

    Boolean returnValue = (Boolean) removeBondMethod.invoke(btDevice, new Object[]{str.getBytes()});

    实际上就把这两行代码转 js 就可以了,不好弄...

    2019-07-18 17:46

  • 低价位小菜 (作者)

    回复 2***@qq.com: nativejs 有文档么为什么我一直找不到,只能看别人的案例猜

    2019-07-19 09:30

该问题目前已经被锁定, 无法添加新回复