Я разрабатываю приложение, где мне нужен широковещательный приемник, который будет отслеживать подключенные и отключенные состояния Wi-Fi. Я пробовал много кодов, просматривал множество сообщений stackoverflow, но не добился успеха. Я не нашел таких методов/кода, которые работают исправно, некоторые коды вообще не работают, некоторые возвращают неверную информацию, некоторые из них приводят к сбою/перезапуску широковещательного приемника и многое другое. Итак, существует ли какой-либо полный метод проверки для подключенных/отключенных состояний wifi, который работает для всех версий Android, начиная с 4.0.3 Icewream sandwitch? Любая помощь будет оценена по достоинству.Монитор для подключенных и отключенных состояний Wi-Fi через широковещательный приемник
0
A
ответ
0
Во-первых, вам необходимо определить широковещательный приемник, который может прослушивать событие изменения сети.
public class NetworkChangeReceiver extends BroadcastReceiver {
public static final String TYPE_NET_CONNECTIVITY_CHANGE = "android.net.conn.CONNECTIVITY_CHANGE";
@Override
public void onReceive(final Context context, Intent intent) {
if (TYPE_NET_CONNECTIVITY_CHANGE.equals(intent.getAction())) {
boolean connected = NetworkStatus.isNetworkConnected(context);
if (connected) {
//Connected
} else {
//Disconnected
}
}
}
}
Теперь зарегистрировать свой приемник в манифесте, как: -
<application
...>
<receiver android:name=". NetworkChangeReceiver" >
<intent-filter>
<action android:name="android.net.wifi.WifiManager.WIFI_STATE_CHANGED_ACTION" />
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
</application>
вы проверили? это действительно работает? Я не могу проверить, как я сегодня вне дома, можете ли вы подтвердить то же самое? Кроме того, почему phonestate разрешение? Кроме того, в onReceive мы не слушаем android.net.wifi.WifiManager.WIFI_STATE_CHANGED_ACTION, то как он будет реагировать на подключение/разъединение Wi-Fi? –
Я использую в своем существующем приложении и работает. Я предполагаю, что вы предоставили интернет-разрешения, потому что без него вы не будете слушать какое-либо событие. – Avi
Привет AVI, на самом деле, мне нужно только обнаружить, что Wi-Fi подключен или отключен, а затем, почему интернет и телефон? –