Android网络配置

时间:2017-08-26 02:32:38

标签: android android-studio kotlin

我正在尝试设置我的网络配置。问题是在我设置配置属性并调用addNetwork()方法后,返回值(配置标识)为-1。我不知道我的代码有什么问题。我在另一个项目中使用了相同的代码,它可以正常工作。

这些是我使用的权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

完整代码

override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    val wifiManager = activity.getSystemService(Context.WIFI_SERVICE) as WifiManager
    val networkAccessPoint = NetworkAccessPoint.getInstance(wifiManager)

    networkAccessPoint.generateConfigurationAccessPoint()

    return inflater!!.inflate(R.layout.fragment_main, container, false);
}

NetwockAccessPoint类

public void generateConfigurationAccessPoint(){

    WifiConfiguration wifiConfiguration = getWifiConfiguration();
    String SSID = getSSID();
    wifiConfiguration.SSID = String.format("\"%s\"", SSID);
    wifiConfiguration.preSharedKey = "\"password\"";
    wifiConfiguration.status = WifiConfiguration.Status.ENABLED;
    wifiConfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
    wifiConfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
    wifiConfiguration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
    wifiConfiguration.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
    wifiConfiguration.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
    wifiConfiguration.allowedProtocols.set(WifiConfiguration.Protocol.RSN);

    int networkConfigurationId = mWifiManager.addNetwork(wifiConfiguration);

    mWifiManager.enableNetwork(networkConfigurationId, true);
    setWifiConfiguration(wifiConfiguration);
    setWifiAPEnabled(wifiConfiguration, true);
}

代码不会抛出任何异常。

解决

我得到的错误是我做的...我想用热点创建接入点,这样我就不需要addNetwork() enableNetwork() setConfiguration() ....而且我有价值-1 wifi已关闭 (正如我之前提到的,我希望AP用于热点)。

0 个答案:

没有答案