我尝试打开一个套接字来监听来自非安卓设备的传入连接。
Parcelable[] uuidExtra = device.getUuids();
String t = uuidExtra[0].toString();
t = t.toUpperCase();
Log.i("UUID: ", t);
此代码段将为我提供蓝牙设备提供的服务的 UUID。LogCat 的输出是:
00001105-0000-1000-8000-00805F9B34FB
我相信这是 Obex 对象推送配置文件的 UUID。我假设这是因为设备的制造商告诉我该设备仅支持协议:Obex Push Profile。
例如,当我尝试访问Parcelable[]
数组中的第二个元素时,输出只会是
07-12 13:29:36.305: E/AndroidRuntime(6293): java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
我可以肯定地说我的数组只包含一个对象。
因此,转到更多特定于 android 的蓝牙内容。
我以这种方式使用此 UUID:
try {
tmp = adapter.listenUsingRfcommWithServiceRecord(device.getName(), UUID.fromString(t));
} catch (IOException e) {
Log.e(TAG, "FAILED BECAUSE: " + e.getMessage()); }
异常向 LogCat 输出以下内容:
FAILED BECAUSE: Not able to register SDP record for: "name of the device"
在谷歌搜索这个异常几个小时后,我仍然无法弄清楚如何为我的设备打开一个监听套接字。
有什么建议么?提前致谢!