안드로이드 9는 어떻게 주동적으로 와이파이 목록을 검색합니까?
1742 단어 안드로이드 개발탐색 및 위치 지정
당시 주요 문제는 startScan을 스캔한 후 와이파이 목록을 바로 업데이트할 수 없었고 몇 차례의 실험에서 2초 정도에 한 번 업데이트된 것을 발견했지만 당시에도 더 좋은 해결 방법을 찾지 못했다는 것이다.
현재(2019-08)에 직면한 주요 문제는 startScan을 스캔한 후 매번 획득한 와이파이 목록이 같고 startScan 함수가 안드로이드 9.0에서 폐기되었다는 것이다. 구글 측은 전기를 절약하기 위해 현재 프론트 데스크톱에서 2분에 4회 스캔을 허용하고 백엔드에서 기다리는 시간이 더 길다고 하는데 다른 방법이 없을까?여기는 Stackoverflow에서 언급한 이 문제에 대한 토론입니다.
이전 프로그램의 주요 코드는 다음과 같습니다.
private WifiManager mWifiManager;
private List mWifiList=new ArrayList<>();
private boolean isUpdate=false;
// WifiManager
this.mWifiManager=(WifiManager)this.getApplicationContext().getSystemService(WIFI_SERVICE);
//
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
registerReceiver(receiver,intentFilter);
// , startScan() getScanResults()
private BroadcastReceiver receiver= new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
//
mWifiList = mWifiManager.getScanResults();
isUpdate=false;
// TODO
}
}
};
//
Thread wifiThread = new Thread(){
@Override
public void run() {
super.run();
while (!isUpdate) {
mWifiManager.startScan();
isUpdate=true;
try {
sleep(2000); //
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
wifiThread.start();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Android] 둥글게 펼쳐지는 Ripple을, 바삭하게 구현간이적으로 터치 피드백이 없는 버튼이나 레이아웃, 탭 범위가 좁아져 버린 버튼 등에, 범위 밖으로 둥글게 퍼지는 Ripple로 탭감, 영역을 조금 늘립니다. 이런 느낌 (화질 나쁘고 미안해..) Ripple을 내고 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.