Ошибка WifiP2pManager.discoverPeers в Android 10

следующий пример кода возвращает код ошибки: 0, который является кодом внутренней ошибки в android. Есть ли какой-либо обходной путь, позволяющий обнаруживать одноранговые узлы на устройствах Android 10?

                wifip2pmanager.discoverPeers(wifip2pmanagerChannel, new WifiP2pManager.ActionListener() {
                @Override
                public void onSuccess() {
                    status.setText("Peer Discovery Started");
                }

                @Override
                public void onFailure(int reason) {

                    status.setText("Error code:" + reason);
                }
            });

person J.Maduka    schedule 10.08.2020    source источник
comment
Вы объявили ACCESS_FINE_LOCATION разрешение в своем манифесте?   -  person Saurabh Thorat    schedule 10.08.2020
comment
Да. Оба ACCESS_FINE_LOCATION и ACCESS_COARSE_LOCATION объявлены.   -  person J.Maduka    schedule 10.08.2020


Ответы (2)


В дополнение к заявлению в списке вам также необходимо динамически применять это разрешение.

person Ambrose    schedule 17.08.2020
comment
Удаление ACCESS_COARSE_LOCATION помогло. Спасибо за ответ. - person J.Maduka; 19.08.2020
comment
Я пробовал как с разрешением, так и без него, все еще получаю ошибку - person DikShU; 04.05.2021
comment
Вы должны включить location в настройках. Пожалуйста, посмотрите мой ответ - person luke8800gts; 15.05.2021

Точно так же было и у меня...

ACCESS_FINE_LOCATION и ACCESS_COARSE_LOCATION недостаточно. Пользователь должен явно активировать службы определения местоположения! (в моем случае включение местоположения решило проблему...)

Это означает: либо вы активируете местоположение в своих настройках вручную, либо отправляете удобный запрос пользователю на активацию служб определения местоположения (похоже на окно запроса разрешения; см. карты Google)

См. этот вопрос, например код последнего. Надеюсь это поможет!

Изменить: если вы ищете ответ, который не включает какие-либо библиотеки Google, см. ответ на этот вопрос.

person luke8800gts    schedule 15.05.2021