Android Wifi扫描器在ListView中不显示结果
创始人
2024-08-19 11:00:50
0次

问题描述: 在Android应用中使用Wifi扫描器,并将扫描到的结果显示在ListView中,但是ListView中没有显示任何结果。

解决方法:

  1. 权限设置: 确保在AndroidManifest.xml文件中添加了以下权限:


  1. ListView布局设置: 在布局文件中添加ListView组件:

  1. Wifi扫描代码: 在Activity或Fragment中添加以下代码:
private WifiManager wifiManager;
private ListView wifiListView;
private ArrayAdapter adapter;
private List wifiList;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
    wifiListView = findViewById(R.id.wifi_list);
    
    adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1);
    wifiListView.setAdapter(adapter);
    
    wifiList = new ArrayList<>();
    scanWifi();
}

private void scanWifi() {
    if (!wifiManager.isWifiEnabled()) {
        wifiManager.setWifiEnabled(true);
    }
    
    registerReceiver(wifiReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
    wifiManager.startScan();
}

private BroadcastReceiver wifiReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        wifiList = wifiManager.getScanResults();
        
        for (ScanResult result : wifiList) {
            adapter.add(result.SSID);
        }
        
        unregisterReceiver(this);
    }
};
  1. 动态权限请求: 在Activity或Fragment中添加以下代码,用于请求相关权限:
private static final int REQUEST_CODE_PERMISSION = 1;
private String[] permissions = {Manifest.permission.ACCESS_WIFI_STATE, Manifest.permission.ACCESS_FINE_LOCATION};

@Override
protected void onResume() {
    super.onResume();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        for (String permission : permissions) {
            if (checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) {
                requestPermissions(permissions, REQUEST_CODE_PERMISSION);
                return;
            }
        }
    }
    scanWifi();
}

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    if (requestCode == REQUEST_CODE_PERMISSION) {
        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            scanWifi();
        } else {
            Toast.makeText(this, "需要权限才能扫描Wifi", Toast.LENGTH_SHORT).show();
        }
    }
}

以上就是解决Android Wifi扫描器在ListView中不显示结果的方法,通过添加权限、设置ListView布局、编写Wifi扫描代码以及动态请求权限,可以实现在ListView中显示Wifi扫描结果。

相关内容

热门资讯

盘点一款!情怀五子棋辅助器脚本... 盘点一款!情怀五子棋辅助器脚本软件,情怀五子棋好像存在有辅助器了解软件1、很好的工具软件,可以解锁游...
推荐一款!来来呀游戏透视挂脚本... 推荐一款!来来呀游戏透视挂脚本软件,来来呀游戏好像是有透视挂辅助app推荐一款!来来呀游戏透视挂脚本...
六分钟了解!掌上约牌辅助器脚本... 六分钟了解!掌上约牌辅助器脚本软件,掌上约牌原来是真的有辅助器详情神器1、掌上约牌辅助器安装包、掌上...
一分钟了解!吉安麻将辅助器脚本... 一分钟了解!吉安麻将辅助器脚本软件,吉安麻将竟然是真的有辅助器解谜脚本1、游戏颠覆性的策略玩法,独创...
一分钟快速了解!中至汾阳麻将开... 一分钟快速了解!中至汾阳麻将开挂脚本软件,中至汾阳麻将其实真的是有开挂辅助软件1、中至汾阳麻将公共底...
实测教程!海南麻将开挂脚本软件... 实测教程!海南麻将开挂脚本软件,海南麻将都是是有开挂解谜app1、完成海南麻将辅助器v3.3的残局,...
重要通知!丫丫诗词透视脚本软件... 重要通知!丫丫诗词透视脚本软件,丫丫诗词本来真的有透视关于攻略丫丫诗词破解侠是真的助透视。每个模型中...
必备教程!疯狂斗地主透视挂脚本... 必备教程!疯狂斗地主透视挂脚本软件,疯狂斗地主总是有透视挂曝光攻略1、首先打开疯狂斗地主辅助器下载最...
推荐十款!蜀乐麻将辅助器脚本软... 推荐十款!蜀乐麻将辅助器脚本软件,蜀乐麻将真是真的有辅助器揭幕脚本蜀乐麻将脚本下载中分为三种模型:蜀...
我来教教大家!微乐贵州麻将开挂... 我来教教大家!微乐贵州麻将开挂脚本软件,微乐贵州麻将一贯是真的有开挂分享方法1、完成微乐贵州麻将辅助...