У меня есть требование перечислить все доступные устройства на bluetooth и передать любой файл с устройства Android на выбранное устройство. Я пытался использовать код нижеОбмен файлами Android через Bluetooth
private void sharefile(String deviceAddress,String filePath){
File f = new File(filePath);
BluetoothAdapter objBluetoothAdapter = BluetoothAdapter
.getDefaultAdapter();
BluetoothDevice device = objBluetoothAdapter
.getRemoteDevice(deviceAddress);
Log.v("Device", "" + device.getName());
final UUID uuid = UUID
.fromString("00001101-0000-1000-8000-00805F9B34FB");
try {
byte[] buffer = new byte[(int) f.length()];
FileInputStream fis = new FileInputStream(f);
BufferedInputStream bis = new BufferedInputStream(fis);
bis.read(buffer, 0, (int) f.length());
BluetoothSocket socket = device
.createRfcommSocketToServiceRecord(uuid);
OutputStream os = socket.getOutputStream();
os.write(buffer, 0, buffer.length);
os.flush();
os.close();
socket.close();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
При выполнении приведенной выше коды показано транспорта конечной точка не подключены сообщений на LogCat.
06-11 18: 26: 49,960: Вт/System.err (9812): java.io.IOException: Транспорт конечная точка не подключена 06-11 18: 26: 49,960: Вт/System.err (9812): at android.bluetooth.BluetoothSocket.writeNative (родной метод) 06-11 18: 26: 49.960: W/System.err (9812): на android.bluetooth.BluetoothSocket.write (BluetoothSocket.java:346) 06-11 18: 26: 49.960: W/System.err (9812): at android.bluetooth.BluetoothOutputStream.write (BluetoothOutputStream.java:85) 06-11 18: 26: 49.960: W/System.err (9812)): at com.cit.bt.ShareMessageActivity.connectDevice (ShareMessageActivity.java:138) 06-11 18: 26: 49.960: W/System.err (9812): at com.cit.bt.ShareMessageActivity.shareFile (ShareMessageActivity .java: 83) 06-11 18: 26: 49.960: W/System.err (9812): at com.cit.bt.ShareMessageActivity.onListItemClick (ShareMessageActivity.java:73) 06-11 18: 26: 49.960: W/System. err (9812): at android.app.ListActivity $ 2.onItemClick (ListActivity.java:319) 06-11 18: 26: 49.960: W/System.err (9812): at android.widget.AdapterView.performItemClick (AdapterView .java: 284) 06-11 18: 26: 49.960: W/System.err (9812): at android.widget.ListView.performItemClick (ListView.java:3736) 06-11 18: 26: 49.960: W /System.err(9812): at android.widget.AbsListView $ PerformClick.run (AbsListView.java:1974) 06-11 18: 26: 49.960: W/System.err (9812): at android.os.Handler .handleCallback (Handler.java:587) 06-11 18: 26: 49.960: W/System.err (9812): at android.os.Handler.dispatchMessage (Handler.java:92) 06-11 18:26 : 4 9.960: W/System.err (9812): at android.os.Looper.loop (Looper.java:130) 06-11 18: 26: 49.960: W/System.err (9812): at android.app. ActivityThread.main (ActivityThread.java:3687) 06-11 18: 26: 49.960: W/System.err (9812): at java.lang.reflect.Method.invokeNative (собственный метод) 06-11 18:26 : 49.960: W/System.err (9812): при java.lang.reflect.Method.invoke (Method.java:507) 06-11 18: 26: 49.960: W/System.err (9812): at com .android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:867) 06-11 18: 26: 49.960: W/System.err (9812): at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:625) 06-11 18: 26: 49.960: W/System.err (9812): at dalvik.system.NativeStart.main (родной метод)
, а также попытался использовать ниже альтернативный код для подключения устройства, он подключил устройство, но не смог передать файл.
BluetoothDevice hxm = BluetoothAdapter.getDefaultAdapter()
.getRemoteDevice(deviceAddress);
Method m;
m = hxm.getClass().getMethod("createRfcommSocket",
new Class[] { int.class });
BluetoothSocket socket = (BluetoothSocket) m.invoke(hxm,
Integer.valueOf(1));
socket.connect();
Я также предоставил требуемое разрешение в манифесте android, но он не смог подключиться. Помогите мне решить эту проблему.
Можете ли вы предоставить мне логику передачи файлов Bluetooth с Android-рынка.
Спасибо!
Спасибо за ваш ответ ... Я не хочу, чтобы приложение, чтобы быть установлены на обоих устройствах, таких как модуль клиент-сервер. можете ли вы предоставить мне образец для обнаружения соседнего устройства Bluetooth и совместного использования файлов. без клиент-серверного модуля. Как и передача файлов Bluetooth с Android-рынка. –
Вы подключили устройство Bluetooth с устройством Android? – Proxy32
Да. Мне жаль, что я не помню, как все произошло. Я знаю, что код, который я предоставил, подключается к монитору BlueTooth HeartRate. –