У меня есть небольшая программа, которая пытается подключиться к сети Wi-Fi. Он позволяет использовать Wi-Fi на устройстве, если это первый раз, когда он подключается к определенной сети. Он загружает Wi-Fi устройства, чтобы выбрать и добавить пароль для подключения. Пока я не добавлю пароль для подключения, программа не должна быть завершена. Как я могу добавить что-то ждать, пока не получу от менеджера wifi, который подключен? Я пытаюсь спать, но он замораживает приложение, и я не получаю всплывающее меню wifi для подключения? есть ли другие способы?
Подождите, пока wifi подключится к android
Ответ 1
Я нашел решение для вашей проблемы месяц назад, просто используйте метод Thread put isConnected(). В этом случае я использую WifiExplorerActivity для отображения всей сети wifi и позволяю пользователю подключаться к ней.
Thread t = new Thread() {
@Override
public void run() {
try {
//check if connected!
while (!isConnected(WifiExplorerActivity.this)) {
//Wait to connect
Thread.sleep(1000);
}
Intent i = new Intent(WifiExplorerActivity.this, MainActivity.class);
startActivity(i);
} catch (Exception e) {
}
}
};
t.start();
И это функция проверки подключения Wi-Fi или нет:
public static boolean isConnected(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = null;
if (connectivityManager != null) {
networkInfo = connectivityManager.getActiveNetworkInfo();
}
return networkInfo != null && networkInfo.getState() == NetworkInfo.State.CONNECTED;
}
Наконец, убедитесь, что ваш Androidmanifest.xml выглядит так:
<activity android:name=".WifiExplorerActivity" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</activity>
Кроме того, вы можете использовать ProgressDialog для ожидания подключения. См. http://developer.android.com/guide/topics/ui/dialogs.html