Приемник вещания сканера Wi-Fi регистрируется только один раз, но постоянно возвращает результатыAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Приемник вещания сканера Wi-Fi регистрируется только один раз, но постоянно возвращает результаты

Сообщение Anonymous »

Это мой приемник вещания, взятый из документации менеджера Wi-Fi:

Код: Выделить всё

private val wifiScanReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent?) {
val success = intent?.getBooleanExtra(WifiManager.EXTRA_RESULTS_UPDATED, false) ?: false
Log.d("WifiManager", "In on receive $success with scan number: $scanId")

if (success) {
scanSuccess()
} else {
scanFailure()
}
// unregisterWifiReceiver()
}
}
Я регистрирую приемник Wi-Fi в методе создания и вызываю запуск сканирования при каждом нажатии кнопки. Однако даже когда я нажимаю кнопку только один раз, я получаю непрерывное сканирование. Это проблема, поскольку я храню эти значения в базе данных и получаю дубликаты, хотя иногда значение уровня отличается.
Единственный способ, которым мне удалось это исправить. это означает отмену регистрации приемника Wi-Fi после успешного сканирования, а затем создание приемника каждый раз, когда я нажимаю кнопку. Я не уверен, нужно ли мне просто хранить все эти значения. Почему уровень колеблется и почему он возвращает так много результатов? Я использую это для снятия отпечатков пальцев Wi-Fi, поэтому уровень будет весьма важен.

Подробнее здесь: https://stackoverflow.com/questions/779 ... -returning
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»