Witam,
mam aplikacje która za pomocą bluetooth łączy się ze sterownikiem
kod jest następujący:
Method m=null;
try {
m = device.getClass().getMethod("createInsecureRfcommSocket", new Class[] {int.class});
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
try {
tmp = (BluetoothSocket) m.invoke(device, 1);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
tmp.connect();
i ten kod działa pięknie do androida 4.2 na androidzie 4.4 dostaje wyjątek w lini tmp.connect(); o następującej treści:
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
Czy ktoś spotkał sie z podobnym problemem?, czy tez może jakieś wskazówki jak to rozwiązać?
rozwiązanie poniższe działa dla androida 4.4
try {
tmp = device.createInsecureRfcommSocketToServiceRecord(MY_UUID_INSECURE);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
tmp.connect();
ale tego rozwiązania nie mogę użyć ponieważ urządzenie z którym się łącze nie publikuje żadnego UUID i nie mam na to żadnego wpływu.
Z góry dziękuje za pomoc.
Pozdrawiam
Robert Sadza