Skip to content

Instantly share code, notes, and snippets.

@simone-gasparini
Created June 28, 2022 10:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save simone-gasparini/065a5f33935c4ca21d8c43f7b6fae28c to your computer and use it in GitHub Desktop.
Save simone-gasparini/065a5f33935c4ca21d8c43f7b6fae28c to your computer and use it in GitHub Desktop.
private fun connectToWifi(ssid:String, password:String) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
val wifiNetworkSpecifier = WifiNetworkSpecifier.Builder()
.setSsid(ssid)
.setWpa2Passphrase(password)
.build()
val networkRequest = NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.setNetworkSpecifier(wifiNetworkSpecifier)
.build()
val connectivityManager =
applicationContext!!.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
connectivityManager.requestNetwork(networkRequest, ConnectivityManager.NetworkCallback())
// TODO: check connection
return "connected ?"
} else {
WifiConfiguration wifiConfig = new WifiConfiguration();
wifiConfig.SSID = String.format("\"%s\"", ssid);
wifiConfig.preSharedKey = String.format("\"%s\"", password);
WifiManager wifiManager = (WifiManager)getSystemService(WIFI_SERVICE);
//remember id
int netId = wifiManager.addNetwork(wifiConfig);
wifiManager.disconnect();
wifiManager.enableNetwork(netId, true);
boolean isConnectionSuccessful = wifiManager.reconnect();
if(isConnectionSuccessful) {
return "connection successful";
} else {
return "invalid credential";
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment