我在使用Android 6或7的所有三星Galaxy设备连接到蓝牙设备时遇到了一些问题。 相同的代码正在使用Android 7的其他设备,例如HTC M9。
我的代码到目前为止:
try {
adapter.cancelDiscovery();
socket = device.createInsecureRfcommSocketToServiceRecord(btUuid);
socket.connect();
publishProgress(context.getString(R.string.bt_con_established));
int r;
byte[] s = new byte[256];
BufferedInputStream in = new BufferedInputStream(socket.getInputStream());
while(!isCancelled() && (r = in.read(s)) != -1) {
publishProgress(new String(s, 0, r));
}
} catch (IOException e) {
e.printStackTrace();
if(!isCancelled()) {
return context.getString(R.string.bt_con_error);
}
} finally {
try {
if(socket != null) {
socket.close();
}
} catch (IOException e) {
e.printStackTrace();
return context.getString(R.string.bt_con_not_closed);
}
}
我总是收到一个isSocketAllowedBySecurityPolicy。
有人有一个想法,为什么这只是在三星设备上不起作用? 三星或KNOX设备上是否有一些特殊的安全规则?
我还使用了UUID 0000110E-0000-1000-8000-00805F9B34FB,但错误相同。
非常感谢