Android 8.1 自定义热点的时候设置了热点maxLength="32",但是

时间:2021-09-13 17:50:35

初步认为应该是与热点名称的字节数有关。

然后开始查看源码。

/Settings/res/xml/tether_prefs.xml

Android 8.1 自定义热点的时候设置了热点maxLength="32",但是

 

中的

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

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

Android 8.1 自定义热点的时候设置了热点maxLength=&quot;32&quot;,但是

在HotspotSettings中点击设置wifi热点,进入/Settings/src/com/android/settings/wifi/WifiApDialog.java

弹框Android 8.1 自定义热点的时候设置了热点maxLength=&quot;32&quot;,但是

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