欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

Android 8.1 自定义热点的时候设置了热点maxLength="32",但是在希伯来语等状态下还是发现在没到32个字符之前就无法把热点设置成功了

 

中的

    <preference
        android:key="hotspot_settings"
        android:title="@string/hotspot_preference_title"
        android:fragment="com.sprd.settings.wifi.hotspotsettings" />

发现了热点设置界面在hotspotsettings 里面,

Android 8.1 自定义热点的时候设置了热点maxLength="32",但是在希伯来语等状态下还是发现在没到32个字符之前就无法把热点设置成功了

在hotspotsettings中点击设置wifi热点,进入/settings/src/com/android/settings/wifi/wifiapdialog.java

弹框Android 8.1 自定义热点的时候设置了热点maxLength="32",但是在希伯来语等状态下还是发现在没到32个字符之前就无法把热点设置成功了

里面的热点名称和密码设置了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);
        }
    }