Android 8.1 自定义热点的时候设置了热点maxLength="32",但是在希伯来语等状态下还是发现在没到32个字符之前就无法把热点设置成功了
程序员文章站
2022-03-20 22:06:52
初步认为应该是与热点名称的字节数有关。 然后开始查看源码。 /Settings/res/xml/tether_prefs.xml 中的 发现了热点设置界面在HotspotSettings 里面, 在HotspotSettings中点击设置wifi热点,进入/Settings/src/com/andr ......
初步认为应该是与热点名称的字节数有关。
然后开始查看源码。
/settings/res/xml/tether_prefs.xml
中的
<preference android:key="hotspot_settings" android:title="@string/hotspot_preference_title" android:fragment="com.sprd.settings.wifi.hotspotsettings" />
发现了热点设置界面在hotspotsettings 里面,
在hotspotsettings中点击设置wifi热点,进入/settings/src/com/android/settings/wifi/wifiapdialog.java
弹框
里面的热点名称和密码设置了text改变的监听,收到监听之后会改变保持按钮的enable状态。
mssid.addtextchangedlistener(this); mpassword.addtextchangedlistener(this);
public void aftertextchanged(editable editable) { validate(); } private void validate() { string mssidstring = mssid.gettext().tostring(); if ((mssid != null && mssid.length() == 0) || ((msecuritytypeindex == wpa2_index || msecuritytypeindex == wpa_index) && mpassword.length() < 8) || (mssid != null && charset.forname("utf-8").encode(mssidstring).limit() > 32)) { getbutton(button_submit).setenabled(false); } else { getbutton(button_submit).setenabled(true); } }