gpt4 book ai didi

android - 扫描接入点 (WifiManager)

转载 作者:太空狗 更新时间:2023-10-29 14:25:21 26 4
gpt4 key购买 nike

我正在尝试使用 WifiManager (StartScan) 类扫描一些接入点,此扫描发生在触摸事件中,但每次触摸仅进行一次扫描。问题是我需要使这个过程 10、20 或我想要的次数;但是我不知道我该怎么做。因为我觉得用一个for循环就够了,但是这个方法对我不起作用。

这是我的 onTouch 方法,每次我触摸屏幕时我都需要它重复 10 次

public boolean onTouch(View v, MotionEvent event) { 
// TODO Auto-generated method stub
WifiManager w = (WifiManager) getSystemService(Context.WIFI_SERVICE);
texto.setLength(0);
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
texto.append("down"; posx:(double) event.getX(); posy:(double) event.getY();
w.startScan();
break;
}
return false;
}

我尝试了下一个 for 循环,但没有成功

for(int i=1;i <= 10;i++){ 
w.startScan();
}

最佳答案

您需要请求扫描,然后在 BroadcastReceiver 中等待结果,如下所示:

        BroadcastReceiver receiver_aps = new BroadcastReceiver()
{
@Override
public void onReceive(Context c, Intent intent)
{
List<WifiConfiguration> results = wifiManager.getConfiguredNetworks();
List<ScanResult> scanResults = wifiManager.getScanResults();
}
};

IntentFilter filter = new IntentFilter();
filter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
registerReceiver(receiver_aps,filter);

扫描完成后,您可以再次请求扫描(在 BroadcastReceiver 中)并保持一个计数器以确保您只扫描十次。

您当前的代码在完成初始扫描所需的时间内请求 10 次扫描,因此所有后续扫描请求都将被忽略。

关于android - 扫描接入点 (WifiManager),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13144629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com