gpt4 book ai didi

android - 如何以编程方式在 Oreo 中创建 wifihotspot?

转载 作者:行者123 更新时间:2023-11-29 16:42:01 26 4
gpt4 key购买 nike

你好鉴于link问题只是展示如何打开/关闭 wifi 热点,但我想添加使用 SSID 和密码创建 wifi 热点。我编写了用于在 android 中创建 wifihotspot(在 NONE 和 WPA2 PSK 中)的代码,它在 android 7 之前工作正常,但在 oreo 中它返回错误值。我的代码摘要是 -

private WifiManager wifiManager;
private Method method;
private WifiConfiguration config;
config.SSID = ssid;
config.status = WifiConfiguration.Status.ENABLED;
method = wifiManager.getClass().getMethod("setWifiApEnabled",
WifiConfiguration.class, Boolean.TYPE);
boolean status = (Boolean) method.invoke(wifiManager, config, true);

所以我的问题是如何为 android oreo 创建 NONE 和 WPA2 PSK 格式的 wifihotspot?可能吗?

最佳答案

零不支持以编程方式创建没有密码的热点。它总是使用随机生成的唯一 ssid 和 key 创建热点。

 WifiManager manager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiManager.LocalOnlyHotspotReservation mReservation;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
assert manager != null;
manager.startLocalOnlyHotspot(new WifiManager.LocalOnlyHotspotCallback() {

@SuppressLint("SetTextI18n")
@Override
public void onStarted(WifiManager.LocalOnlyHotspotReservation reservation) {
super.onStarted(reservation);
Timber.d("Wifi Hotspot is on now , reservation is : %s", reservation.toString());
mReservation = reservation;
key = mReservation.getWifiConfiguration().preSharedKey;
ussid = mReservation.getWifiConfiguration().SSID;


}

@Override
public void onStopped() {
super.onStopped();
Timber.d("onStopped: ");
}

@Override
public void onFailed(int reason) {
super.onFailed(reason);
Timber.d("onFailed: ");
}
}, new Handler());
}

关于android - 如何以编程方式在 Oreo 中创建 wifihotspot?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50169004/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com