初步認為應該是與熱點名稱的位元組數有關。 然後開始查看源碼。 /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); } }