Интересно, может кто-нибудь помочь мне с моей проблемой?Я переписываю приложение, которое я первоначально разработал в J2ME, используя Android.Единственное, с чем у меня проблема - это Bluetooth.Приложение считывает информацию с устройства чтения штрих-кодов Bluetooth и отправляет данные на принтер Bluetooth.
Перед тем, как считывать или записывать какие-либо данные, я сканирую все устройства Bluetooth, позволяя пользователю выбрать устройство и сохранить устройства MAC.Адрес.
Начнем со считывателя штрих-кода.Обнаружение устройства не находит его.Зачем?даже устройство Nokia может найти читатель, который я использую.
Discovery находит принтер, но когда я пытаюсь распечатать данные на нем, я получаю IOException, не в состоянии запустить службу обнаружения.
Используя J2ME, я подключился к обоим устройствам с помощью:
bconn = (StreamConnection) Connector.open("btspp://" + addr + ":1;authenticate=false;encrypt=false;master=false");
С Android я использую следующее:
String addr;
BluetoothAdapter bconn=null;
BluetoothDevice btd;
BluetoothSocket btSocket;
private UUID[] uuidSet;
.
.
.
uuidSet=new UUID[1];
uuidSet[0]=UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
try{
bconn=BluetoothAdapter.getDefaultAdapter();
btd=bconn.getRemoteDevice(addr);
btSocket=btd.createRfcommSocketToServiceRecord(uuidSet[0]);
btSocket.connect();
}
catch(Exception se){
System.out.println("open read Error: " + se);
Log.d("0", "Read Error " + se);
}
Ошибка возникает в строке btSocket.connect
После нескольких часов борьбы я решил настроить свой принтер и сканер на ПК с USB-устройством bluesoleil.
Когда я попробовал приложение (используя гипертерминал), все работает.
У кого-нибудь есть предложения, пожалуйста.
С уважением, Стив