RxWifi

General

Category
Free
Tag
Wi-Fi
License
MIT License
Min SDK
16 (Android 4.1 Jelly Bean)
Registered
Feb 28, 2016
Favorites
0
Link
http://ennova-it.github.io/RxWifi
See also
WiseFy
Wifi Connector
LocalNetwork
vibwifi
Salut

Additional

Language
Java
Version
1.3.5 (Feb 17, 2017)
Created
Dec 24, 2015
Updated
Nov 9, 2017 (Retired)
Owner
Ennova S.r.l. (Ennova-IT)
Contributors
Ravindra Kumar (ravidsrk)
Roberto Orgiu (tiwiz)
Lorenzo Quiroli (quiro91)
jk.yeo (jkyeo)
4
Activity
Badge
Generate
Download
Source code

RxWifi

This library has been built in order to help us in retrieving the different networks in range of the device providing the result as an Observable instead of relying on usual Android's Receiver paradigm.

RxWifi is now available on Android-Arsenal

Disclaimer

RxWifi is being developed an it is provided as is (please check the license for further information)

Importing

Gradle

Add the JitPack repo to the root build.gradle file of your project:

allprojects {
  repositories {
    ...
    maven { url "https://jitpack.io" }
  }
}

Add the RxWifi library between the dependencies of your app

    compile 'com.github.Ennova-IT:RxWifi:1.3.5'

Maven

Add the JitPack repo to your build file

<repositories>
  <repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
  </repository>
</repositories>

Add the dependency

<dependency>
  <groupId>com.github.Ennova-IT</groupId>
  <artifactId>RxWifi</artifactId>
  <version>1.3.5</version>
</dependency>

Usage

The main entry point of the library will provide you with an Hot Observable by simply invoking the static factory method and passing the Context as input parameter.

RxWifi.from(context)

Alternatively, you can request multiple scans of the available networks, so that you can leverage the network data changes. This method will return a List<ScanResult> multiple times (once per iteration).

RxWifi.from(context, times)

Note: this command can take up to 10 seconds per scan, so it is running (by default) on a proper Scheduler so that it does not block the UI.

As a bonus, we added a converter from the ScanResult class to a WiFiNetwork one so that it is easier to show simpler information to the user

ScanResultUtils.toWiFiNetwork(scanResult)

Open points

  • force a new WiFi scanning
  • further optimizations