带有RN42模块的Android蓝牙连接

带有RN42模块的Android蓝牙连接,第1张

概述我正在尝试将我的应用程序连接到RN42模块.//CreateasocketbasedontheapplicationIDwithapaireddevice//FetchthepublishedUUIDsfromthembedandusethefirstonebluetoothSocket=connectedDevice.createRfcommSock

我正在尝试将我的应用程序连接到RN42模块.

            // Create a socket based on the application ID with a paired device            // Fetch the published UUIDs from the mbed and use the first one            bluetoothSocket = connectedDevice.createRfcommSocketToServiceRecord(connectedDevice.getUuIDs()[0].getUuID());            // Connect to the device            if (!bluetoothSocket.isConnected())                bluetoothSocket.connect();            // Create the input and output streams for sending/receiving messages            socketinput = bluetoothSocket.getinputStream();            socketoutput = bluetoothSocket.getoutputStream();

我在AndroID清单中有这些

<uses-permission androID:name="androID.permission.BLUetoOTH_admin"/><uses-permission androID:name="androID.permission.BLUetoOTH"/>

调用bluetoothSocket.connect()时出现此错误.

Attempt to invoke virtual method 'voID androID.bluetooth.BluetoothSocket.connect()' on a null object reference

拨打此行后

bluetoothSocket = connectedDevice.createRfcommSocketToServiceRecord(connectedDevice.getUuIDs()[0].getUuID());

我已经使用AndroID Studio检查了变量bluetoothSocket,但它不是null.当调用bluetoothSocket.connect()时,它以某种方式变为null.

那是预期的行为吗?我该如何解决?我已经在Play商店中使用RN蓝牙聊天应用程序对其进行了测试,因此RN42模块可以正常工作.

如果有帮助,我使用的是Nexus 7上的AndroID 5.1.

解决方法:

我设法通过删除我的蓝牙连接代码,而以AndroID蓝牙聊天示例为基础来解决问题.我不知道确切的问题是什么,但“蓝牙聊天”示例设法解决了该问题.没有什么显而易见的突出之处,所以我最好的猜测是,这有些微妙.如果您遇到类似的问题,并且RN42与AndroID之间的连接很不稳定,请创建示例蓝牙聊天应用程序,然后重新使用该蓝牙连接代码.

少很多头痛! 总结

以上是内存溢出为你收集整理的带有RN42模块的Android蓝牙连接全部内容,希望文章能够帮你解决带有RN42模块的Android蓝牙连接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1078665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存