我正在为通过蓝牙与 Android 应用程序通信的硬件设备开发身份验证层。我想确保设备只与我们的应用程序通信。有没有办法阻止用户使用我们的应用程序连接到设备,然后打开另一个应用程序并继续使用现有连接与设备通信?有一些方法可以通过密码学解决这个问题,但由于这可能很昂贵,我正在寻找替代解决方案。
最佳答案
如果安全是您的主要关注点,请使用安全 BT 进行连接 套接字,可以通过直接调用 createRfcommSocketToServiceRecord 创建 (大多数现代设备)或通过反射调用“createRfcommSocket”(一些旧设备)。
BTWiz在向您隐藏此类复杂性以及支持异步蓝牙 IO 方面做得很好。
这将为您提供“基本”安全级别。
我假设你想要更多,而获得它的唯一方法是执行 某种级别的应用程序身份验证。如果不必复杂,仅仅 从一边到另一边传递一个简单的密码会给你一个更高级别的 身份验证比我遇到的大多数 BT 实现都要好。
吉拉德海莫夫
安卓开发者
www.mobileedge.co.il
关于android - 特定于应用程序的蓝牙连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24390022/