안드로이드 시스템 설정에서 Wifi 필터링
3283 단어 Android
신호 매개변수(WorldWide Available)
2.4G 신호: Frequency range: 2.400G - 2.500GHz(2400MHz - 2500MHz), Bandwidth: 100MHz, Center Frequency: 2.450GHz 5.8G 신호: Frequency range: 5.725G - 5.800GHz, 즉 (5725MHz - 5800MHz), Bandwidth: 100MHz, Center Frequency: 5.800GHz
어떻게 수정합니까
시스템 설정 코드를 추적하여 표시된 Wifi 핫이슈를 필터하려면 Wifi Settings에서 확인할 수 있습니다.java에서 처리하기;하지만 곧 AccessPoint에frequency에 대한 정보가 없다는 것을 알게 될 것입니다.따라서 먼저 AccessPoint를 사용해야 합니다.java에서 해당 속성을 정의합니다.
경로는\packages\apps\Settings\src\com\android\settings\wifi\AccessPoint에 있습니다.java:
//add by dq begin
private int frequency;
public int getFrequency() {
return frequency;
}
public void setFrequency(int frequency) {
this.frequency = frequency;
}
//add by dq end
......
private void loadResult(ScanResult result) {
ssid = result.SSID;
bssid = result.BSSID;
security = getSecurity(result);
wpsAvailable = security != SECURITY_EAP && result.capabilities.contains("WPS");
if (security == SECURITY_PSK)
pskType = getPskType(result);
networkId = -1;
mRssi = result.level;
mScanResult = result;
setFrequency(result.frequency);//add by dq
}
이어서 WifiSettings가 필요합니다.java에서 처리하기:
private void updateAccessPoints() {
....
switch (wifiState) {
case WifiManager.WIFI_STATE_ENABLED:
for (AccessPoint accessPoint : accessPoints) {
//add by dq begain to omit 5.8G wifi.
Log.d(TAG,"wifi ap frequency:"
+accessPoint.getFrequency());
int frequency = accessPoint.getFrequency();
if(frequency >= 5725 && frequency <= 5800) {
continue;
}
//add by dq end.
getPreferenceScreen().addPreference(accessPoint);
}
break;
}
원본 코드를 컴파일한 후 5.8G의 신호가 목록에서 차단되었다.2015.3.31
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.