经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » Android » 查看文章
Android 8.1 自定义热点的时候设置了热点maxLength="32",但是在希伯来语等状态下还是发现在没到32个字符之前就无法把热点设置成功了
来源:cnblogs  作者:李培能  时间:2019/8/12 8:40:47  对本文有异议

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

然后开始查看源码。

/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);
        }
    }

 

原文链接:http://www.cnblogs.com/lipeineng/p/11328838.html