Я разрабатываю приложение для Android, которое отправляет файлы и некоторые данные на другое устройство через Bluetooth, а затем получает некоторые данные.
Сначала я попытался сделать это с помощью разъема Bluetooth.
class BluetoothService{
private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");
BluetoothAdapter adapter;
Handler handler;
Context context;
ConnectedThread mConnectedThread;
BluetoothService(Context context, Handler handler)
{
adapter = BluetoothAdapter.getDefaultAdapter();
this.context = context;
this.handler = handler;
}
void connect(BluetoothDevice device)
{
BluetoothSocket tmp = null;
try
{
tmp = device.createRfcommSocketToServiceRecord(MY_UUID);
}
catch (IOException e)
{
}
mConnectedThread = new ConnectedThread(tmp);
mConnectedThread.start();
//mConnectedThread.run();
}
class ConnectedThread extends Thread
{
private BluetoothSocket socket;
private InputStream inputStream;
private OutputStream outputStream;
ConnectedThread(BluetoothSocket tmpSocket)
{
InputStream tmpIn = null;
OutputStream tmpOut = null;
try
{
tmpIn = tmpSocket.getInputStream();
tmpOut = tmpSocket.getOutputStream();
} catch (IOException e)
{
}
socket = tmpSocket;
inputStream = tmpIn;
outputStream = tmpOut;
try
{
socket.connect();
}catch (IOException e)
{
}
}
public void run()
{
byte[] buffer = new byte[1024];
int bytes;
//while (true)//crash app
try
{
int bytesAvaiable = inputStream.available();
bytes = inputStream.read(buffer);
handler.obtainMessage(MainActivity.MESSAGE_READ, bytes, -1, buffer).sendToTarget();
}catch (IOException e)
{
}
}
void write(byte[] bytes)
{
try
{
outputStream.write(bytes);
}catch (IOException e)
{
}
}
но мне не удалось!чтение и запись сокета не может соединиться с гнездом Bluetooth.затем попытался использовать Bluetooth по умолчанию для отправки файла на подключенное устройство.
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.setPackage("com.android.bluetooth");
intent.setType("audio/*");
//intent.setDevice(address_paired_device);
startActivity(intent);
как я могу отправить файл на подключенное устройство Bluetooth, используя этот код?