蓝牙自动设置PIN码需要调用原生的setPIN方法,

但是需要传入 将PIN码 转为 Byte 数组。

原生平台 相关 代码如下

static public boolean setPin(Class extends BluetoothDevice> btClass, BluetoothDevice btDevice,

String str) throws Exception

{

try

{

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

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

Log.e("returnValue", "" + returnValue);

}

catch (SecurityException e)

{

// throw new RuntimeException(e.getMessage());

e.printStackTrace();

}

catch (IllegalArgumentException e)

{

// throw new RuntimeException(e.getMessage());

e.printStackTrace();

}

catch (Exception e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

return true;

}

其实是使用反射调用 setPin 方法,因为setPin是私有的方法。

plus.android.invoke 方法 可以直接调用,不需要反射。

所以 在js中自动设置PIN码 如下:

plus.android.invoke( BlueToothDevice , "setPin" , plus.android.invoke( PIN , "getBytes") );

但是会报如下错误:

java.lang.NullPointerException: Attempt to get length of null array;at android.bluetooth.BluetoothDevice.setPin

意思是空指针异常。

这个错误应该是表示 输入的PIN码是空的。

在JAVA中 Byte 数组:

打印出来的结果如下:

在JS中 创建的Byte数组如下:

实际上打印出来的是空的:

根据这个结果是不是可以说明 在JS 中 调用 setPin 的时候 实际上 PIN码 是找不到的。

如果是,那该如何解决呢。

如果不是,那自动设置PIN码改如何实现呢

android pin码 经典蓝牙_请问 蓝牙 的自动设置PIN码 功能该怎么实现。相关推荐

  1. Android开发——蓝牙配对自动设置PIN

    注册广播 针对指定广播形式,对指定的广播做捕获操作. <!-- 增加一个配对码广播监听 --><receiver android:name="com.winstar.min ...

  2. outlook qr码在哪里_爱奇艺极速版邀请码是多少在哪里填写 邀请码怎么输入方法...

    爱奇艺极速版填写邀请码领爱奇艺会员卡,邀好友得人气值可兑爱奇艺VIP天卡/周卡/月卡/季卡/年卡.那么爱奇艺极速版邀请码是多少?爱奇艺极速版邀请码在哪里填怎么输入呢?下面小编给大家介绍一下. 爱奇艺极 ...

  3. qq视频转码失败怎么办_腾讯云点播视频转码需要注意的问题

    上传视频是否可以选择不转码? 老版腾讯云点播在控制台上传是必须选择转码模版的,但使用api上传的时候可以选择不转码,在申请媒资的时候, 指定mode参数为 no_transcoding就不会进行转码, ...

  4. python实现二维码识别软件_用 Python 生成 识别二维码

    说到二维码大家一定不陌生,可以说现在二维码几乎渗透到了我们生活的各个角落,举例来说吧,我们到超市商场购物时扫描二维码付款,我们出行时乘坐公交地铁扫描二维码进站,我们到菜鸟驿站取件时扫描二维码取件,如果 ...

  5. 快递取件码生成软件_一种分布式的取件码生成方法技术

    [技术实现步骤摘要] 本专利技术涉及样品柜取件码生成 ,特别涉及一种分布式的取件码生成方法. 技术介绍 在快递柜的领域中,快递员进行快件派送的时候,通常会遇到收件人无法立刻来取件的情况,这样就需要快递 ...

  6. android 判断是否正在扫描蓝牙_判断蓝牙是否连接

    Android对于蓝牙开发从2.0版本的sdk才开始支持,而且模拟器不支持,测试至少需要两部手机,所以制约了很多技术人员的开发. 1. 首先,要操作蓝牙,先要在AndroidManifest.xml里 ...

  7. centos7使用蓝牙_请问有没有可以在 CentOS 下使用的 USB 蓝牙适配器?

    5 2015-12-28 01:56:13 +08:00   1 首先检查有没有物理的 wifi 开关. wifi 开关关了,蓝牙也肯定关了,它俩一般共用一个物理开关.如果没有,或者有但打开还是找不到 ...

  8. 电脑有没有蓝牙_手机蓝牙没什么用?那是因为你不会用!这9种用法,你用过几种?...

    阅读本文前,请您先点击上面的"蓝色字体",再点击"关注",这样您就可以继续免费收到最新文章了.每天都有分享.完全是免费订阅,请放心关注. 很多人说,手机的蓝牙功 ...

  9. mbot编程机器人怎么连接蓝牙_台式机蓝牙怎么连接

    点击蓝字 关注我们 如何开启桌面电脑的蓝牙功能? 很多人都知道如何在笔记本电脑上使用蓝牙,但你的桌面呢?您可能想知道,桌面是否有蓝牙?桌面没有蓝牙模块,但是如果你想打开蓝牙呢? 下面,我们来看看桌面蓝 ...

  10. mtu蓝牙_提升蓝牙4.2数据传输率的办法 - ATT_MTU

    之前一文<蓝牙4.2最大传输速率详细分析>介绍了蓝牙4.2的最大数据传送率以及限制速率的三大原因,那么问题来了,在蓝牙4.2上我们还有没有方式可以进一步提高蓝牙的数据传输率? 首先,我们从 ...

最新文章

  1. BZOJ1393 [Ceoi2008]knights
  2. 数据库必会必知 之 SQL四种语言:DDL DML DCL TCL
  3. centos6 lnmp安装mysql_centos6.5安装lnmp环境
  4. Linux 内核打印级别
  5. 解决 avformat_alloc_context无法识别的问题
  6. linux根文件系统 /etc/resolv.conf 文件详解
  7. android广播示例,android接受开机广播事件
  8. git恢复到master版本_关于git,请教如何恢复版本库?
  9. useEffect和useLayoutEffect区别
  10. 如何在PowerShell中连接字符串和变量?
  11. java 代码解压7z(带密码)转载请注明出处,谢谢
  12. .NET(c#) 移动APP开发平台之Smobiler开发
  13. python新浪微博爬虫_利用新浪API实现数据的抓取\微博数据爬取\微博爬虫
  14. 中文汉化AE插件-图层边界自动填充生长动画插件
  15. Springboot启动报错:Failed to process import candidates for configuration class...
  16. c语言编程学生活动安排表,C语言作业安排表(18学时-周学时2...).doc
  17. 繁星花落谁家(屠龙)算法和统计概率结论
  18. RTMP流媒体直播资料
  19. 数据库建表-- 一对多/多对一/一对一/多对多 关系
  20. 使用NanoHTTPD在Android上建立本地服务器

热门文章

  1. 线路规划实现用java_北京地铁出行线路规划系统项目总结(Java+Flask+Vue实现)
  2. Matlab指数函数e最小二乘法,最小二乘法拟合指数函数(Matlab编程),着急,
  3. [HDU6070] Dirt Ratio
  4. java找不到指定路径_java创建文件时提示找不到指定路径的解决方法
  5. linux通过无线网卡上网,Linux使用4G/5G无线网卡模块上网
  6. 机器人及其相关零件的发展
  7. 定点补码加减法运算_定点整数的加减法
  8. 服务器iso文件如何打开方式,iso文件怎么打开(iso文件用什么打开)
  9. 计算机热点ip设置,电脑宽带怎样设置wifi热点
  10. Vue核心技术-40,vue-router-编程式路由导航