Счетчик Android BLE не останавливается нажатием кнопки включения / выключения BLE вручную - PullRequest
0 голосов
/ 01 марта 2019

Я создаю модули для BLE Scan.Когда я сканирую свой маяк, он начинает считать.Когда мой маяк уходит или я выключаю свою BLE на телефоне, отсчет останавливается.Когда дело доходит до выполнения, счетчик все еще считает, когда я выключен.Подскажите, пожалуйста:

  1. Рекомендуется ли конечным пользователям каждый раз включать BLE моего маяка для сканирования в первую очередь?

  2. Чтобы принудительно включить или отключить 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()
                }
            }
...