Я создаю модули для BLE Scan.Когда я сканирую свой маяк, он начинает считать.Когда мой маяк уходит или я выключаю свою BLE на телефоне, отсчет останавливается.Когда дело доходит до выполнения, счетчик все еще считает, когда я выключен.Подскажите, пожалуйста:
Рекомендуется ли конечным пользователям каждый раз включать BLE моего маяка для сканирования в первую очередь?
Чтобы принудительно включить или отключить BLE моего телефона, должен ли быть реализован широковещательный приемник?
Вот мой код:
private var handler = Handler()
private var runnable = Runnable()
{
updateCount()
}
imageView.setOnClickListener {
if(m_bluetoothAdapter!!.isEnabled){
stopCount()
handler.removeCallbacksAndMessages(null)
checkStatus = ""
m_bluetoothAdapter!!.disable()
imageView.setColorFilter(ContextCompat.getColor( this, R.color.white), android.graphics.PorterDuff.Mode.MULTIPLY);
}else{
imageView.setColorFilter(ContextCompat.getColor( this, R.color.white), android.graphics.PorterDuff.Mode.MULTIPLY);
val enableBLE = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE)
startActivityForResult(enableBLE , REQUEST_ENABLE_BLE)
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(requestCode == REQUEST_ENABLE_BLE) {
if(resultCode == Activity.RESULT_OK) {
if(m_bluetoothAdapter!!.isEnabled) {
toast("BLE has been enabled").show()
imageView.setColorFilter(ContextCompat.getColor( this, R.color.linkedin_blue), android.graphics.PorterDuff.Mode.MULTIPLY);
pairedDeviceList()
}else{
toast("BLE has been disabled").show()
imageView.setColorFilter(ContextCompat.getColor( this, R.color.white), android.graphics.PorterDuff.Mode.MULTIPLY);
}
}else if(resultCode == Activity.RESULT_CANCELED) {
toast("BLE enabling has been canceled").show()
}
}