Как я могу сканировать bluetooth мобильного телефона с помощью bluetoothLescanner?
Я задал этот вопрос несколько часов назад, но до сих пор не могу его решить.
Я пытаюсь поймать сигнал BLE и получить rssi vlue с помощью "BluetoothLeScanner" для измерения расстояния между двумя телефонами.
Но моя программа обнаруживает все BLE_signal, кроме сигнала Bluetooth на моем телефоне.
Ниже приводится то, что я распечатал с помощью Log.e, когда запускал программу.
'''
2019-12-01 00:21:16.319 22089-22089/com.example.bluetooth E/get_RSSI:
name: null, addr: 33:DC:55:32:73:96, rssi: -88, distance: 8.912509381337454
2019-12-01 00:21:16.949 22089-22089/com.example.bluetooth E/get_RSSI:
name: null, addr: 33:DC:55:32:73:96, rssi: -92, distance: 14.12537544622754
2019-12-01 00:21:16.962 22089-22089/com.example.bluetooth E/get_RSSI:
name: null, addr: 22:32:AA:BF:25:16, rssi: -45, distance: 0.06309573444801933
2019-12-01 00:21:17.054 22089-22089/com.example.bluetooth E/get_RSSI:
name: null, addr: 33:DC:55:32:73:96, rssi: -92, distance: 14.12537544622754
2019-12-01 00:21:17.064 22089-22089/com.example.bluetooth E/get_RSSI:
name: null, addr: 22:32:AA:BF:25:16, rssi: -45, distance: 0.06309573444801933
2019-12-01 00:21:17.661 22089-22089/com.example.bluetooth E/get_RSSI:
name: null, addr: 22:32:AA:BF:25:16, rssi: -49, distance: 0.1
2019-12-01 00:21:18.408 22089-22089/com.example.bluetooth E/get_RSSI:
name: null, addr: 22:32:AA:BF:25:16, rssi: -42, distance: 0.04466835921509631
2019-12-01 00:21:18.425 22089-22089/com.example.bluetooth E/get_RSSI:
name: null, addr: 33:DC:55:32:73:96, rssi: -87, distance: 7.943282347242816
2019-12-01 00:21:19.148 22089-22089/com.example.bluetooth E/get_RSSI:
name: null, addr: 22:32:AA:BF:25:16, rssi: -48, distance: 0.08912509381337455
2019-12-01 00:21:19.779 22089-22089/com.example.bluetooth E/get_RSSI:
name: null, addr: 22:32:AA:BF:25:16, rssi: -46, distance: 0.0707945784384138
и ниже - MainActivity, onResume() и класс Bluetooth2
override fun onResume() {
super.onResume()
val mBlueToothAdapter = BluetoothAdapter.getDefaultAdapter()
val mBLEScanner = mBlueToothAdapter.getBluetoothLeScanner()
Bluetooth2().initialize(mBLEScanner)
}
...
class Bluetooth2 {
val mScanCallback = object: ScanCallback(){
override fun onScanResult(callbackType: Int, result: ScanResult?) {
super.onScanResult(callbackType, result)
val RSSI = result?.rssi
val NAME = result?.device?.name
val ADDR = result?.device?.address
if(!BLE_DB().contains(ADDR)) {
val text = "$ADDR $RSSI"
BLE_DB().append(1, text)
BLE_DB().append(2, NAME)
}
Log.e("get_RSSI", " name: $NAME, addr: $ADDR, rssi: $RSSI, distance: ${rssiTodis(RSSI)}")
}
}
.
.
.
fun initialize(bluetoothLeScanner: BluetoothLeScanner){
BLE_DB().initialize()
bluetoothLeScanner.startScan(mScanCallback)
Log.e("Initialization", "Initialized")
}
...
'''
Не знаю почему не ловит сигнал телефона...
Пожалуйста, помогите мне...
Рисунок 1 - это скриншот окна Bluetooth, когда я запускаю Bluetooth. На рисунке 2 показано существующее приложение-анализатор RSSI. Как вы можете видеть на фотографиях, мой телефон может сканировать мой телефон Galaxy S7 и распознавать его, но я не вижу этого в журнале своей программы. Что я должен делать?