我在Android中找不到任何标准API来检查SPP配置文件支持。有没有任何方法(直接或间接)可以通过编程来确定这一点?我能想到的一个间接方法是使用BluetoothAdapter.listenUsingRfcommWithServiceRecord来启动RFCOMM服务器套接字,如果设备支持SPP,该套接字应该(大概)成功,否则将失败。这是否有效,或者有更好/正确的方法?
bvuwiixz1#
String sspUuid = "00001101-0000-1000-8000-00805f9b34fb"; boolean uuidExists = false; ParcelUuid[] uuids = {}; if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) { uuids = device.getUuids() } else { Method getUuidsMethod = device.getClass().getMethod("getUuids", null); uuids = (ParcelUuid[]) getUuidsMethod.invoke(device, null); } for (ParcelUuid uuid : uuids) { if (uuid.toString().equalsIgnoreCase(sspUuid)) { uuidExists = true; break; } } if (uuidExists) { socket = device.createRfcommSocketToServiceRecord(UUID.fromString(sspUuid)); }
对于任何人仍然想知道我用这个工作在旧版本和新版本的android.不要忘记添加异常处理.
1条答案
按热度按时间bvuwiixz1#
对于任何人仍然想知道我用这个工作在旧版本和新版本的android.不要忘记添加异常处理.