lulucc2008
lulucc2008
  • 发布:2022-12-12 10:07
  • 更新:2022-12-12 11:32
  • 阅读:172

WifiManager怎么连接静态WiFi

分类:Native.js

动态的可以连上,静态的连不上也不报错,setIpConfiguration和setStaticIpConfiguration也不知道哪个是对的

let config = new WifiConfiguration()  
plus.android.setAttribute(config, 'SSID', ssid)  
let allowedKeyManagement = plus.android.getAttribute(config, 'allowedKeyManagement')  
plus.android.importClass(allowedKeyManagement)  
allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE)  
let allowedProtocols = plus.android.getAttribute(config, 'allowedProtocols')  
plus.android.importClass(allowedProtocols)  
allowedProtocols.set(WifiConfiguration.Protocol.RSN)  
allowedProtocols.set(WifiConfiguration.Protocol.WPA)  
let allowedAuthAlgorithms = plus.android.getAttribute(config, 'allowedAuthAlgorithms')  
plus.android.importClass(allowedAuthAlgorithms)  
allowedAuthAlgorithms.clear()  
let allowedPairwiseCiphers = plus.android.getAttribute(config, 'allowedPairwiseCiphers')  
plus.android.importClass(allowedPairwiseCiphers)  
allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP)  
allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP)  
let allowedGroupCiphers = plus.android.getAttribute(config, 'allowedGroupCiphers')  
plus.android.importClass(allowedGroupCiphers)  
allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40)  
allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104)  
allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP)  
allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP)  

if (type === '静态') {  
    let staticIpConfig = new StaticIpConfiguration()  
    // 设置静态IP地址  
    let inetAddr = NetworkUtils.numericToInetAddress(ipAddress)  
    let linkAddress = new LinkAddress(inetAddr, prefixLength)  
    plus.android.setAttribute(staticIpConfig, 'ipAddress', linkAddress)  
    // 设置网关  
    let gatewayAddr = NetworkUtils.numericToInetAddress(gateway)  
    plus.android.setAttribute(staticIpConfig, 'gateway', gatewayAddr)  
    // 设置域名  
    let dnsAddr = NetworkUtils.numericToInetAddress('8.8.8.8')  
    plus.android.setAttribute(staticIpConfig, 'dnsServers', dnsAddr)  
    // 设置代理  
    // let proxySettings = ProxySettings.NONE // NONE:无 PAC:自动 STATIC:手动  
    // let ipConfig = new IpConfiguration(IpAssigment.STATIC, ProxySettings.NONE, staticIpConfig, null)  
    let ipConfig = new IpConfiguration('STATIC', 'NONE', staticIpConfig, null)  

    config.setIpConfiguration(ipConfig)  
    //config.setStaticIpConfiguration(ipConfig)  
}  

let networkId = wifiManager.addNetwork(config)  
wifiManager.enableNetwork(networkId, true)
2022-12-12 10:07 负责人:无 分享
已邀请:
lulucc2008

lulucc2008 (作者)

自己解决了。。

new IpConfiguration('STATIC', 'NONE', staticIpConfig, null) 

这块应该这么写

new IpConfiguration(IpConfiguration.IpAssignment.STATIC, IpConfiguration.ProxySettings.NONE, staticIpConfig, null)
  • 2***@qq.com

    安卓应用获取WiFi列表,

    并连接指定的WiFi热点,

    向这个WiFi用AT指令向这个AP发送数字1

    2024-01-09 11:25

要回复问题请先登录注册