В моем приложении для Android я использую следующий фрагмент кода:
@RequiresApi(api = Build.VERSION_CODES.O)
private void turnOnHotspot(){
WifiManager manager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
manager.startLocalOnlyHotspot(new WifiManager.LocalOnlyHotspotCallback(){
@Override
public void onStarted(WifiManager.LocalOnlyHotspotReservation reservation) {
super.onStarted(reservation);
Log.d(TAG, "Wifi Hotspot is on now");
}
@Override
public void onStopped() {
super.onStopped();
Log.d(TAG, "onStopped: ");
}
@Override
public void onFailed(int reason) {
super.onFailed(reason);
Log.d(TAG, "onFailed: ");
}
},new Handler());
}
Этот фрагмент кода создает точку доступа с именем вроде «AndroidShare_1234». Для моего проекта мне нужно иметь возможность установить пароль и SSID для этой точки доступа, однако я не могу найти способ сделать это. Я хочу создать точку доступа с SSID, например MyHotspot
, и настраиваемым паролем.
Обратите внимание, что setWifiApEnabled
больше не поддерживается в Android O, именно так это делается в более старых версиях Android. Однако мне все еще нужно программно создать точку доступа Wi-Fi с SSID и паролем. Я не могу понять, как это сделать. Заранее спасибо!
Кому интересно ...
Для школьного проекта я сделал шкафчик, который разблокируется всякий раз, когда он может подключиться к беспроводной сети с определенными критериями, отсюда и необходимость программной установки точки доступа.
startLocalOnlyHotspot
, точка доступа может совместно использоваться несколькими приложениями. Это указывает на то, что изменение SSID вряд ли будет официально поддерживаться. - person nitzanms   schedule 11.12.2017