Kornfeld Eliyahu Peter Ответов: 0

Я ищу некоторые разъяснения по 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)...
Спасибо вам за ваши усилия, чтобы попытаться помочь мне - я могу сделать вывод, что мой вывод верен - я должен использовать физический телефон для разработки такого приложения...

0 Ответов