如何在没有用户输入的情况下创建Android RFCOMM套接字?

Enr*_*sso 30 java-native-interface android bluetooth android-ndk rfcomm

这是场景:

我需要编写一个Android应用程序来创建一个带有蓝牙适配器的PC的RFCOMM插槽(我也要编写服务器).

我的要求是用户不必手动配对设备.

实际上,有一个大黑客,我正在使用createInsecureRfcommSocket.

一个小场景:我有一个Android应用程序,它与一个打开了RFCOMM套接字的Linux盒子交换信息.我可以在设备上手动设置PIN(硬编码是一种选择)

我正在寻找不同的道路:

编写JNI包装器

如已完成在这里的最大凯勒曼,我可以写一个JNI层,使所有配对阶段.这应该是一个不错的选择,但是有一个问题:

NDK 4b不提供libbluetooth库,因此-lbluetooth失败,以及NDK v.3.

选项:

  1. 找到NDK 1.5(包括lib bluetooth).经过几天的网络搜索,我一直无法找到答案.有人知道我能在哪里找到它吗?
  2. 自己编译libbluetooth for Android并将它们用于-lbluetooth.没有幸运,我无法建造它们.任何提示?

使用API​​公开的内容

任何人都知道如何使用createRfcommSocketToServiceRecord并让用户不要手动配对设备?可能吗?我应该怎么写服务器?

我不知道的东西

也许(肯定!)有一些我不知道的东西.也许我可以用别的东西?不是RFCOMM?SDP?

也许我可以手动配对Android API?

我希望已经足够清楚,如果不是只是问.再次,因为这不是第一次,我在你的手中:)

感谢所有支持人员!

Enr*_*sso 2

最后我只能说你不能

即使你找到了一种方法,使用包装器、编写 C 模块等等,Android 的进化也可能会改变你正在使用的东西。

所以,别无选择。可悲的是。

让我们看看Android蓝牙API未来会发生怎样的变化。