Я разрабатываю игровое приложение, которое требует, чтобы пользователи находились на хорошем Wi-Fi-соединении. И мне также нужно, чтобы оба пользователя знали, есть ли другой пользователь на Wi-Fi или нет. Платформа Android будет использоваться для разработки этого игрового приложения.Проверьте, подключен ли пользователь к WIFi на Android
ответ
Просто создайте следующий класс, который проверяет наличие подключения к Интернету:
public class ConnectionStatus {
private Context _context;
public ConnectionStatus(Context context) {
this._context = context;
}
public boolean isConnectionAvailable() {
ConnectivityManager connectivity = (ConnectivityManager) _context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
return false;
}
}
Этот класс просто содержит метод, который возвращает логическое значение состояния соединения. Поэтому в простых терминах, если метод находит действительное соединение с Интернетом, возвращаемое значение равно true
, в противном случае false
, если действительное соединение не найдено.
Следующий метод в MainActivity затем вызывает результат с методом, описанным выше, и предлагает пользователю действовать соответствующим образом:
public void addListenerOnWifiButton() {
Button btnWifi = (Button)findViewById(R.id.btnWifi);
iia = new ConnectionStatus(getApplicationContext());
isConnected = iia.isConnectionAvailable();
if (!isConnected) {
btnWifi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
Toast.makeText(getBaseContext(), "Please connect to a hotspot",
Toast.LENGTH_SHORT).show();
}
});
}
else {
btnWifi.setVisibility(4);
warning.setText("This app may use your mobile data to update events and get their details.");
}
}
В приведенном выше коде, если результат является ложным, (поэтому существует нет подключения к Интернету, пользователь отправляется на панель Wi-Fi для Android, где ему предлагается подключиться к Wi-Fi-точке доступа.
«И мне также нужно, чтобы оба пользователя знали, включен ли другой пользователь Wi-Fi или нет ". Как один пользователь знает, если другой находится на Wi-Fi или нет? – Deepu
Не уверен, что вы можете получить это легко. Прошел через некоторые сообщения на SO, которые могли бы вам помочь: http://stackoverflow.com/a/7599847/1116216. Но это дает вам только SSID (имя сети Wifi) для сети, к которой подключено ваше устройство, а не того, с кем вы ориентируетесь. –
помог вам помочь? –
- 1. ShareLinkTask, проверьте, подключен ли пользователь к сети
- 2. Проверьте, не подключен ли я к сети wifi
- 3. Проверьте, подключен ли 3g, 4g android
- 4. Проверьте, подключен ли пользователь к Wi-Fi или сотовой сети
- 5. Проверьте, подключен ли к сети; jQuery
- 6. Проверьте, не подключен ли к нему микрофон
- 7. Проверьте, подключен ли mongoDB
- 8. Проверьте, подключен ли сокет.
- 9. Проверьте, подключен ли MDM-сервер.
- 10. Проверьте, подключен ли клиент к серверу OwnCloud
- 11. Проверьте, есть ли WIFI на Xamarin iOS
- 12. Проверьте, подключен ли к удаленному серверу Webclient
- 13. Проверьте, ТОЛЬКО подключено к WiFi C#
- 14. ESP8266 - Проверьте, подключен ли клиент?
- 15. iOS Проверьте, включена ли поддержка WiFi
- 16. Проверьте, подключен ли сервер LDAP
- 17. Проверьте, подключен ли пользователь к его учетной записи Apple, если нет, попросите его подключиться к нему
- 18. Wifi Доступен, подключен и требуется Аутентификация пользователя
- 19. IOS Проверьте, подключен ли поток m3u8
- 20. Проверьте, что узел уже подключен к AVAudioEngine
- 21. Android - подключение к wifi программно
- 22. Проверьте, не аутентифицирован ли пользователь Android AndroidView
- 23. Перезагрузите и проверьте, подключен ли пользователь к телефонной запинке с помощью angularjs
- 24. QTcpSocket - Проверьте, подключен
- 25. Проверьте, соблюдено ли пользователь
- 26. Как проверить, что пользователь подключен к CGPath?
- 27. Android Проверьте, есть ли WiFi, но нет интернета
- 28. Проверьте, подключено ли устройство к i-net
- 29. Проверьте, подключен ли клиентский компьютер к определенному Wi-Fi
- 30. Проверьте, подключен ли Socket перед отправкой данных
Возможный дубликат [Определить тип сетевого подключения на Android] (http: // stackoverflow. com/questions/2802472/detect-network-connection-type-on-android) –