Я создал тестовое приложение для Wi-Fi. Приложение по существу включает и отключает функциональные возможности Wi-Fi для платформы Android (проверено от 2.3 до 4.1).Каков наилучший способ программно отключить Wi-Fi Wi-Fi?
Я заметил две проблемы с приложением, с которыми я надеюсь получить помощь.
1) Я не могу остановить точку доступа Wi-Fi, если горячая точка включена более 30 минут (среднее время). Я могу остановить горячую точку просто отлично, если она не была запущена очень долго. Я использую следующий код, чтобы остановить:
// Disable wifi hotspot
private static void stopAccessPoint() {
try
{
Method[] wmMethods = wifi.getClass().getDeclaredMethods();
for (Method method : wmMethods) {
if (method.getName().equals("setWifiApEnabled")) {
try {
method.invoke(wifi, null, false);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
}
catch(Exception e)
{
Log.d(TAG, errorStoppingHotspotMessage);
}
2) Wi-Fi точка доступа теряет подключение к Интернету после того, как используется в течение длительного периода времени. Я заметил, что это происходит чаще, когда используется в других беспроводных сетях, поэтому я подумал, что это может быть связано с помехами.
Я могу запустить точку доступа Wi-Fi просто отлично, без каких-либо проблем в любой момент времени. Все исследования указали мне на приведенный выше код, который я уже использую для отключения горячей точки.
Обсуждали ли вы какие-либо из вас раньше? Трудно проверить проблемы, учитывая количество времени, которое требуется для возникновения проблем.
Любая помощь будет принята с благодарностью.