//(1)获取默认配置信息方法,该方法在系统无法检测到默认配置文件时会生成
//系统第一次运行时会执行到,还有就是把系统热点配置文件删除后再重启也是会执行到
private SoftApConfiguration getDefaultApConfiguration() {
SoftApConfiguration.Builder configBuilder = new SoftApConfiguration.Builder();
//configBuilder.setBand(generateDefaultBand(mContext)); //(2)原来的逻辑。2.4G热点
//(3)加个打印,查看默认的频段值
Log.d(TAG, "getDefaultApConfiguration generateDefaultBand = " + generateDefaultBand(mContext));
//(4)设置默认5G的一段逻辑,添加prop属性进行判断
boolean isDefault5G = SystemProperties.getBoolean("persist.sys.mydebug.hotspot_default_5G", true);
Log.d(TAG, "getDefaultApConfiguration isDefault5G = " + isDefault5G);
if (isDefault5G) {
// (5)判断是否支持5G,设置5G band 和 36 信道值。
if (ApConfigUtil.isBandSupported(SoftApConfiguration.BAND_5GHZ, mContext)) {
Log.d(TAG, "getDefaultApConfiguration set band = 5G");
configBuilder.setChannel(36, SoftApConfiguration.BAND_5GHZ);
} else {
Log.d(TAG, "getDefaultApConfiguration set band = 2G");
configBuilder.setChannel(3, SoftApConfiguration.BAND_2GHZ);
}
} else { // (6)如果设置prop属性为 false,还是原来的逻辑
configBuilder.setBand(generateDefaultBand(mContext));
}
//(7)默认名称,AndroidAP_四位随机数
configBuilder.setSsid(mContext.getResources().getString(
R.string.wifi_tether_configure_ssid_default) + "_" + getRandomIntForDefaultSsid());
//(8)热点加密形式,默认不支持wpa3,加密类型:WPA2_PSK
if (ApConfigUtil.isWpa3SaeSupported(mContext)) {
configBuilder.setPassphrase(generatePassword(),
SECURITY_TYPE_WPA3_SAE_TRANSITION);
} else {
configBuilder.setPassphrase(generatePassword(),
SECURITY_TYPE_WPA2_PSK);
}
//(9)桥接模式,默认不支持
if (ApConfigUtil.isBridgedModeSupported(mContext)) {
if (SdkLevel.isAtLeastS()) {
int[] dual_bands = new int