无法使用setWifiApEnabled方法在android 7.1上启动Wifi访问点

问题描述 投票:1回答:1

[尝试使用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 dhcp android-7.1-nougat
1个回答
0
投票

您解决了问题吗?我在针对Android 7.1.1的项目中也发现了此问题。(Nexus 5X)

© www.soinside.com 2019 - 2024. All rights reserved.