Android企业资源调配后如何在Android 10中保存EAP wifi网络
截至API lvl 29,我们一直在使用WifiConfiguration与我们的DPC建立wifi连接(设备和配置文件所有者模式)。由于API lvl 29,我们仍然可以保存Open、WEP、WPA网络,但任何保存EAP网络的尝试都被完全忽略。我们尝试使用WifiSuggestions方法,建议会正确地显示在通知栏中,但当用户点击“允许”时,什么也不会发生。日志中没有错误,addNetworkSuggestions()方法返回状态\网络\建议\成功 只有当我们的DPC通过完整的配置过程(工作配置文件创建或在第一次启动期间完全管理)获得设备/配置文件所有者权限时,才存在此问题。使用ADB获取设备所有者状态可以通过允许网络建议来保存网络 以下是我们建立网络建议的方式:Android企业资源调配后如何在Android 10中保存EAP wifi网络,android,android-wifi,emm,Android,Android Wifi,Emm,截至API lvl 29,我们一直在使用WifiConfiguration与我们的DPC建立wifi连接(设备和配置文件所有者模式)。由于API lvl 29,我们仍然可以保存Open、WEP、WPA网络,但任何保存EAP网络的尝试都被完全忽略。我们尝试使用WifiSuggestions方法,建议会正确地显示在通知栏中,但当用户点击“允许”时,什么也不会发生。日志中没有错误,addNetworkSuggestions()方法返回状态\网络\建议\成功 只有当我们的DPC通过完整的配置过程(工作配
@RequiresApi(api = Build.VERSION_CODES.Q)
public static WifiNetworkSuggestion setupWifiNetworkSuggestion (WifiConfiguration wifiConfiguration){
return new WifiNetworkSuggestion.Builder()
.setSsid(wifiConfiguration.SSID)
.setIsHiddenSsid(wifiConfiguration.hiddenSSID)
.setWpa2EnterpriseConfig(wifiConfiguration.enterpriseConfig)
.build();
}
之后我们称之为:
List<WifiNetworkSuggestion> networkSuggestionList = new ArrayList<>();
networkSuggestionList.add(setupWifiNetworkSuggestion(wifiConfiguration));
int status = mWifiManager.addNetworkSuggestions(networkSuggestionList);
if (status != WifiManager.STATUS_NETWORK_SUGGESTIONS_SUCCESS) {
_logger.error("Problem adding network suggestion, status code: " + status);
}
List networkSuggestionList=new ArrayList();
networkSuggestionList.add(setupwifinetworkssuggestion(wifiConfiguration));
int status=mWifiManager.addNetworkSuggestionList(网络建议列表);
如果(状态!=WifiManager.status\u NETWORK\u SUCCESS){
_logger.错误(“添加网络建议时出现问题,状态代码:“+状态”);
}
我们错过什么了吗?同样的代码也适用于我们的另一个应用程序,我们不使用EMM配置来获取设备所有者。两个应用中请求的所有权限都相同。我们试图获取一些错误信息或设置一些日志,但始终只能获得成功状态。我们终于成功了!该问题由三个不同的问题引起:
WifiConfiguration.keymagmt.WPA\u EAP
您是如何将
WifiConfiguration.KeyMgmt.WPA_EAP
作为允许的密钥管理设置添加到新的wifinetworksuggestation生成器的?@BVantur在构建wifinetworksuggestation之前,我们准备了如下的WifiConfiguration:config.allowedKeyManagement.clear();config.allowedKeyManagement.set(WifiConfiguration.keymagmt.IEEE8021X);config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_EAP)代码>当我们的WifiConfguration准备好后,我们用它构建建议。