Android library listening network events.

Overview

It is able to detect ConnectivityStatus when it changes:java

  • WIFI_CONNECTED("connected to WiFi")android

  • WIFI_CONNECTED_HAS_INTERNET("connected to WiFi (Internet available)")git

  • WIFI_CONNECTED_HAS_NO_INTERNET("connected to WiFi (Internet not available)")github

  • MOBILE_CONNECTED("connected to mobile network")app

  • OFFLINE("offline")ide

In addition it is able to detect situation when strength of the Wifi signal was changed withWifiSignalStrengthChanged event.this

Usage

Add permissions to AndroidManifest.xml file.spa

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

In your activity add Bus field from Otto Event Bus library and NetworkEvents field.code

private Bus bus;private NetworkEvents networkEvents;

Initialize objects in onCreate(Bundle savedInstanceState) method.orm

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);
    bus = new Bus();
    networkEvents = new NetworkEvents(this, bus);
}

Register Bus and NetworkEvents in onResume() method and unregister them in onPause() method.

@Overrideprotected void onResume() {    super.onResume();
    bus.register(this);
    networkEvents.register();
}

@Overrideprotected void onPause() {    super.onPause();
    bus.unregister(this);
    networkEvents.unregister();
}

Subscribe for the events

@Subscribepublic void onConnectivityChanged(ConnectivityChanged event) {    // get connectivity status from event.getConnectivityStatus()
    // and do whatever you want}

@Subscribepublic void onWifiSignalStrengthChanged(WifiSignalStrengthChanged event) {    // do whatever you want - e.g. read fresh list of access points}

Example

Look at MainActivity in exemplary application to see how this library works.

See GitHub : https://github.com/pwittchen/NetworkEvents

相關文章
相關標籤/搜索