2016-07-20 6 views
1

Мой WifiBroadcastReceiver прослушивает обновленные состояния WIFI. когда я нажимаю кнопку на моем MainActivity, WIFI-сканирование выполняется WifiManager, что вызывает метод onReceive в моем WifiBroadcastReceiver.
Когда я получаю action от Intent, он верен, он возвращает WifiManager.SCAN_RESULTS_AVAILABLE_ACTION. Когда я получаю это action, я звоню WifiManager.getScanResults(), который возвращает List из ScanResult объектов.WifiManager возвращает пустой список на моем Xperia Z3 +, но работает как ожидается на моей Galaxy S4

На S4 представлены результаты, как ожидается, список доступных сетей WIFI. Однако на Z3 +, пока он возвращает List<ScanResult>, список пуст.

Что может быть причиной этого?

S4 работает под управлением Android 5.0.1.
Z3 + работает под управлением Android 6.0.1.

+0

К сожалению, разработчики Android телефонов не все делать «то же самое» в «таким же образом.» Меньше дорогостоящие телефоны и телефоны разных производителей в целом не всегда работают как супер-пуперные телефоны, которые разработчики часто имеют в * своих * карманах. –

+0

Да, я боялся, что это был тот тип ответа, который я собирался получить. Но это похоже на разницу на довольно низком уровне, я бы надеялся, что этот тип вещей будет стандартным, для чего-то столь же вездесущего, как сканирование для Wi-Fi сетей. –

+1

Очевидно, посмотрите * очень внимательно на журналы ошибок любого типа, но «да, это глупо, каковы различия, иногда». –

ответ

0

По состоянию на Android 6.0 поведение разрешений перешло во время выполнения. Это означает, что нам нужно обрабатывать разрешения по-разному.

Смотрите этот ответ здесь:

https://stackoverflow.com/a/32151901/571875