I can’t make bluetooth connected for all fragments, you need to connect to all fragments once.
import android.bluetooth.BluetoothAdapter
class BluetoothController(private val adapter: BluetoothAdapter) {
private var connectThread: ConnectThread? = null
fun connect(mac: String, listener: Listener){
if(adapter.isEnabled && mac.isNotEmpty()){
val device = adapter.getRemoteDevice(mac)
connectThread = ConnectThread(device, listener)
connectThread?.start()
}
}
fun sendMessage(message: String){
connectThread?.sendMessage(message)
}
fun closeConnection(){
connectThread?.closeConnection()
}
companion object{
const val BLUETOOTH_CONNECTED = "Bluetooth соединение подключено"
const val BLUETOOTH_NO_CONNECTED = "Bluetooth соединение отключено"
}
interface Listener{
fun onReceive(message: String)
}
}
else if (item.itemId == R.id.id_bt_connect) { // Подключение к ESP32.
bluetoothController.connect(mac ?: "", this@MainFragment)
Toast.makeText(requireActivity(), "Подключение к маяку", Toast.LENGTH_SHORT).show()
}
else if (item.itemId == R.id.id_bt_connect) { // Подключение к ESP32.
bluetoothController.connect(mac ?: "", this@ColorGlow)
Toast.makeText(requireActivity(), "Подключение к маяку", Toast.LENGTH_SHORT).show()
}
I don`t know
for some reason, the problem is not solved, when switching to another fragment, the Bluetooth connection is lost, and it is not possible to make a Bluetooth connection to all fragments at once.