I managed to connect to wifi programmatically using the code bellow, but it's always prompting the user to "manually" connect to the wifi. I there a way to avoid this and automatically connect to the wifi ?
NetworkCallback networkCallback = new NetworkCallback(){
@Override
public void onAvailable(Network network) {
super.onAvailable(network);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
connectivityManager.bindProcessToNetwork(network);
}else{
connectivityManager.setProcessDefaultNetwork(network);
}
}
@Override
public void onLost(Network network) {
super.onLost(network);
connectivityManager.bindProcessToNetwork(null);
connectivityManager.unregisterNetworkCallback(this);
}
};
WifiNetworkSpecifier networkSpecifier = new WifiNetworkSpecifier.Builder()
.setSsid(SSID)
.setWpa2Passphrase(Password)
.build();
NetworkRequest networkRequest = new NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
.addCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED)
.setNetworkSpecifier(networkSpecifier)
.build();
connectivityManager.requestNetwork(networkRequest,networkCallback);