Here is My code-
public void turnOnLocalOnlyHotspot(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
String ssid = "AndroidAP_" + new Random().nextInt(10000);
String passphrase = getRandomPassword();
// Create WifiNetworkSpecifier.Builder
WifiNetworkSpecifier.Builder builder;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
builder = new WifiNetworkSpecifier.Builder();
builder.setSsid(ssid);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
builder.setBand(ScanResult.WIFI_BAND_24_GHZ);
}
builder.setWpa2Passphrase(passphrase);
// Create NetworkSpecifier
WifiNetworkSpecifier specifier = builder.build();
// Create network request
NetworkRequest networkRequest = new NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
.setNetworkSpecifier(specifier)
.build();
// Connect to network
ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback(){
@Override
public void onAvailable(@NonNull Network network) {
super.onAvailable(network);
Toast.makeText(context, "created", Toast.LENGTH_SHORT).show();
}
@Override
public void onUnavailable() {
super.onUnavailable();
Toast.makeText(context, "failed", Toast.LENGTH_SHORT).show();
}
};
connectivityManager.requestNetwork(networkRequest, networkCallback);
}
}
I tried the above method to achieve the turn on LocalOnlyHotspot but it is not happening please fix this issue?
Try this one
wifi manager