Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.yongjhih:rx-wifi:0.0.4'
}
dependencies {
implementation("com.github.yongjhih:rx-wifi:0.0.4")
}
<dependency>
<groupId>com.github.yongjhih</groupId>
<artifactId>rx-wifi</artifactId>
<version>0.0.4</version>
</dependency>
libraryDependencies += "com.github.yongjhih" % "rx-wifi" % "0.0.4"
:dependencies [[com.github.yongjhih/rx-wifi "0.0.4"]]
Scan:
RxWifi.scan(context).subscribe { scanResult ->
println(scanResult)
}
Connect:
RxWifi.connects(context, ssid, password)
.subscribe({
println(it)
}, { e -> {
// ssid not found
// auth failure
// connection failure
// no internet?
})
rx-connectivity
RxConnecitvity.connectivity(context).subscribe();
RxConnecitvity.internetivity(context).subscribeOn(io()).subscribe();
RxConnecitvity.isConnected(context);
RxConnectivity.defaultNetwork(context, NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
.build())
.subscribe()
rx-connectivity-kotlin:
connectivityManager.defaultNetwork(NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
.build())
.subscribe()
rx-wifi-kotlin:
wifiManager.scan(context).subscribe()
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.github.yongjhih.rx-net:rx-wifi:-SNAPSHOT'
compile 'com.github.yongjhih.rx-net:rx-connectivity:-SNAPSHOT'
compile 'com.github.yongjhih.rx-net:rx-connectivity-kotlin:-SNAPSHOT'
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val netCallback = object : ConnectivityManager.NetworkCallback() {
override fun onAvailable(network: Network) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
ConnectivityManager.setProcessDefaultNetwork(network)
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
connectivityManager.bindProcessToNetwork(network)
}
}
}
connectivityManager.registerNetworkCallback(NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
.build(), netCallback)
}
// connectivityManager.unregisterNetworkCallback(netCallback)
p.s.:
Apache 2.0