Я ищу некоторые разъяснения по android и Wi-Fi в эмуляторе...
Я работаю над мобильным приложением с интенсивным использованием Wi-Fi, где код сканирует точки доступа для подключения и изучения их...
Я использую Android Studio и эмуляторы вместе с ней... После долгого чтения я пришел к выводу, что не могу получить доступ к этим точкам доступа из эмулятора, но должен использовать реальный телефон...
Я ищу разъяснений по этому поводу...
Что я уже пробовал:
Много чтения и поиска образцов и возможных расширений/обновлений...
David Crow
"После долгого чтения я пришел к выводу, что не могу получить доступ к этим точкам доступа из эмулятора, но должен использовать реальный телефон.."
Вы смотрели на AP называется AndroidWifi?
Kornfeld Eliyahu Peter
Это эмулируемый AP (и только для очень новых уровней API) - я пытаюсь искать реальные AP реальных устройств (которые я создал)... На реальном телефоне он работает (с местом для ошибок), но на эмуляторе этого нет (даже главный компьютер видит точки доступа)... Я просто не хочу быть уверенным, что правильно понял, что это так, и не упустил что-то маленькое, но ценное для меня...
David Crow
Но, тем не менее, это точка доступа. Ваш код для поиска точек доступа и подключения к ним не изменится, будь то эмулированный или физический прямо рядом с вами.
Kornfeld Eliyahu Peter
Код для поиска точек доступа есть и работает, но без истинного устройства, которое может получить доступ к вызовам за этой точкой доступа, он не очень полезен, поэтому AndriodWiFi мне в данном случае не нужен...
David Crow
Я собрал этот код для запуска на моем эмуляторе, один раз с выключенным Wi-Fi и снова с включенным. Он печатал правильные результаты каждый раз.
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); if (cm != null) { NetworkInfo ni = cm.getNetworkInfo(ConnectivityManager.TYPE_ETHERNET); if (ni != null && ni.isAvailable()) { Log.d("Test2", "ETHERNET is available"); if (ni.isConnected()) Log.d("Test2", "ETHERNET is connected"); else Log.d("Test2", "ETHERNET is not connected"); } else Log.d("Test2", "ETHERNET is not available"); ni = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (ni != null && ni.isAvailable()) { Log.d("Test2", "MOBILE is available"); if (ni.isConnected()) Log.d("Test2", "MOBILE is connected"); else Log.d("Test2", "MOBILE is not connected"); } else Log.d("Test2", "MOBILE is not available"); ni = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (ni != null && ni.isAvailable()) { Log.d("Test2", "WIFI is available"); if (ni.isConnected()) Log.d("Test2", "WIFI is connected"); else Log.d("Test2", "WIFI is not connected"); } else Log.d("Test2", "WIFI is not available"); }Конечно, я могу просто не понимать вашу проблему.
Kornfeld Eliyahu Peter
Но видели ли вы какое-нибудь реальное устройство, создающее AP? Чтобы проверить мой код, недостаточно иметь эмулированную сеть Wi-Fi, но нужно фактическое подключение к реальному устройству...
David Crow
"Но вы видели какое-нибудь реальное устройство, создающее AP?"
Последние три телефона, которыми я владел, имели такую функцию. Однако я использовал его только один раз. Я должен был включить эту функцию через их веб-сайт, а затем я мог включить ее по телефону.
Kornfeld Eliyahu Peter
Мы ходим по кругу и скучаем друг по другу...
Моя просьба о разъяснении касалась использования эмулятора для разработки/отладки/тестирования мобильного приложения, которое подключает реальные устройства через Wi-Fi...
Вы указали, что существует эмулируемый Wi - Fi (начиная с API 25 IIRC), но даже при этом эмулятор не видит никакого реального устройства с AP... (я не просил устройства, которые создают AP-у меня уже есть несколько вещей с питанием ESP8266)...
Спасибо вам за ваши усилия, чтобы попытаться помочь мне - я могу сделать вывод, что мой вывод верен - я должен использовать физический телефон для разработки такого приложения...