[尝试使用setWifiApEnableMethod
授予所有必需的权限来在Android 7.1上设置访问点,
public static boolean createWAP(final WifiManager wifiManager, String apName) {
final WifiConfiguration netConfig = new WifiConfiguration();
netConfig.SSID = apName;
netConfig.hiddenSSID = false;
netConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
netConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
netConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
netConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
try {
final Method setWifiApMethod = wifiManager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class);
boolean apstatus = (Boolean) setWifiApMethod.invoke(wifiManager, null, true);
Log.d(TAG, "WAP created: " + apstatus);
return apstatus;
} catch (Exception e) {
Log.d(TAG, "WAP creation failed: " + e);
}
return false;
}
此功能创建了接入点,并且可以从其他设备发现该接入点。但是,其他设备无法连接到创建的WAP。它卡在Obtaining IP address...
。当我尝试从桌面连接到WAP时,桌面会自行分配IP。
当通过设置手动启用相同的热点时,其他设备就可以毫无问题地连接到WAP。
假设DHCP服务器没有启动?启用访问点后,是否需要其他步骤来启动DHCP服务器?
您解决了问题吗?我在针对Android 7.1.1的项目中也发现了此问题。(Nexus 5X)