2017-02-19 43 views
0

Я разрабатываю приложение, где мне нужен широковещательный приемник, который будет отслеживать подключенные и отключенные состояния Wi-Fi. Я пробовал много кодов, просматривал множество сообщений stackoverflow, но не добился успеха. Я не нашел таких методов/кода, которые работают исправно, некоторые коды вообще не работают, некоторые возвращают неверную информацию, некоторые из них приводят к сбою/перезапуску широковещательного приемника и многое другое. Итак, существует ли какой-либо полный метод проверки для подключенных/отключенных состояний wifi, который работает для всех версий Android, начиная с 4.0.3 Icewream sandwitch? Любая помощь будет оценена по достоинству.Монитор для подключенных и отключенных состояний Wi-Fi через широковещательный приемник

ответ

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> 
+0

вы проверили? это действительно работает? Я не могу проверить, как я сегодня вне дома, можете ли вы подтвердить то же самое? Кроме того, почему phonestate разрешение? Кроме того, в onReceive мы не слушаем android.net.wifi.WifiManager.WIFI_STATE_CHANGED_ACTION, то как он будет реагировать на подключение/разъединение Wi-Fi? –

+0

Я использую в своем существующем приложении и работает. Я предполагаю, что вы предоставили интернет-разрешения, потому что без него вы не будете слушать какое-либо событие. – Avi

+0

Привет AVI, на самом деле, мне нужно только обнаружить, что Wi-Fi подключен или отключен, а затем, почему интернет и телефон? –

 Смежные вопросы

  • Нет связанных вопросов^_^