Я хочу отправлять и получать сообщения между почти доступными android устройствами через Bluetooth. Ниже мой код, который находит новые и сопряженные устройства. Решение, которое я нашел до сих пор, состоит в соединении и создании сокетного соединения с каждым устройством для отправки и получения сообщений, но это не моя цель.
Моя цель:
Продолжать трансляцию периодически, независимо от доступных устройств.
Затем, когда любое количество устройств, доступных в диапазоне Bluetooth, должно получить сообщение.
если вышеописанное невозможно, то я хотел бы реализовать что-то вроде.
продолжить поиск пары доступных устройств Bluetooth и создать соединение (если это невозможно без соединения и сопряжения), затем отправить сообщение всем им по одному.
Я хочу достичь вышеупомянутой цели таким образом, чтобы взаимодействие пользователя ни в чем не требовало единственного, что требуется от пользователя - это включить Bluetooth.
Здесь мой код:
publi c, класс BluetoothHelper расширяет AppCompatActivity {
String TAG = "TEST";
BtHelper btHelper;
BtHelperClient btHelperClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bluetooth_helper);
btHelper = BtHelper.getDefault();
btHelperClient = BtHelperClient.from(BluetoothHelper.this);
btHelperClient.searchDevices(new top.wuhaojie.bthelper.OnSearchDeviceListener() {
@Override
public void onStartDiscovery() {
Log.d(TAG, "onStartDiscovery()");
}
@Override
public void onNewDeviceFounded(BluetoothDevice bluetoothDevice) {
// Call when found a new device
Log.d(TAG, "new device: " + bluetoothDevice.getName() + " " + bluetoothDevice.getAddress());
}
@Override
public void onSearchCompleted(List<BluetoothDevice> bondedList, List<BluetoothDevice> newList) {
// Call when the discovery process completed
Log.d(TAG, "SearchCompleted: bondedList" + bondedList.toString());
Log.d(TAG, "SearchCompleted: newList" + newList.toString());
}
@Override
public void onError(Exception e) {
e.printStackTrace();
}
});
}
}