【发布时间】:2013-08-14 18:23:34
【问题描述】:
我正在尝试在 android 上创建一个服务器来监听传入的连接,例如我拥有的特定耳机。
我已经阅读了很多教程、StackOverflow 中的帖子和 Android|Developer 中的帖子,但我似乎不明白一些事情。
1) UUID,它是每个蓝牙设备的特定地址吗?还是需要在服务器和客户端中才能创建连接的共享密钥?我的猜测是后者,因为那里还有 MAC 地址......
2) 当我将耳机与手机配对时,耳机会保存上次配对设备的 MAC\UUID 吗?
3) 蓝牙芯片是否也能以这种方式工作?手机开机后立即连接到配对设备,所以我的猜测是它为每个配对设备打开一个 Socket 并等待它打开,是真的吗?
4) 是否有可能完成我正在尝试的事情?意思是创建一个蓝牙服务器套接字来接受来自耳机的连接?
服务器端的代码示例:
//This may b needs to be the UUID of the headset ? or special one ? or what ?
UUID myUUID = UUID.fromString("0000111e-0000-1000-8000-00805f9b34fb");
private final BluetoothServerSocket mServerSocket;
private BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
tmp = mBluetoothAdapter.listenUsingRfcommWithServiceRecord(Activity.APP_NAME, myUUID);
mServerScooket = tmp;
//Im hoping that this will block until the specific headset will be turned on
socket = mServerSocket.accept();
提前致谢。
【问题讨论】:
标签: java android bluetooth uuid headset