我正在寻找通过rfcomm套接字不安全地连接的方式。我能找到下面提到的方式如何在Android中创建不安全的RFCOMM套接字?
Method m = device.getClass().getMethod("createInsecureRfcommSocket", new Class[] {int.class});
tmp = (BluetoothSocket) m.invoke(device, 1);
这暂且是做我想做的。即使通过here的文档说我们需要使用createInsecureRfcommSocketToServiceRecord进行不安全的连接。但是没有这样的方法。我发现的唯一方法是使用如上所示的反射。即使在这个方法中,传递给createInsecureRfcommSocket而不是createInsecureRfcommSocketToServiceRecord。我只是想知道这种方式有多可靠。如果我在方法中提到createInsecureRfcommSocketToServiceRecord,连接永远不会发生。
非常感谢我指向正确的方向。如果该API仅在API级别10后才可用,那么如果我正在使用Android 2.1 – sunil 2011-03-16 07:07:18
ATM进行开发,那么如何不安全地连接到设备,您已找到最佳折中方案。请记住,反射解决方案可能会在更高版本中消失,因此您可能希望编写代码以使用“Build.VERSION”检查设备上的版本,并使用2.3和更高版本的公共API。这将要求您将目标API级别提高到10,但将最低API级别保留为5(或7),以便它仍然可以在运行2.1或2.2的早期设备上运行。希望有所帮助! – Devunwired 2011-03-16 13:52:37
@Wireless,但它可以在API 7中使用createInsecureRfcommSocketToServiceRecord()方法吗? – 2011-07-27 07:43:59