Java 为什么wifi连接数为:0?

Java 为什么wifi连接数为:0?,java,android,Java,Android,我想显示android studio的Wifi连接列表。我手机的wifi设置上有2个连接,但我的应用程序看不到它们 提前谢谢 当我打开调试应用程序时,我看到这样一句话: Wifi连接数:0 那么为什么它看不到wifi连接呢? 我尝试了启用wifi和禁用wifi的情况 MainActivity.java import java.util.List; import android.annotation.SuppressLint; import android.app.Activity; import

我想显示android studio的Wifi连接列表。我手机的wifi设置上有2个连接,但我的应用程序看不到它们

提前谢谢

当我打开调试应用程序时,我看到这样一句话: Wifi连接数:0

那么为什么它看不到wifi连接呢? 我尝试了启用wifi和禁用wifi的情况

MainActivity.java

import java.util.List;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends Activity {

private StringBuilder sb = new StringBuilder();
private TextView tv;
List<ScanResult> scanList;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tv= (TextView)findViewById(R.id.txtWifiNetworks);
    getWifiNetworksList();
}

private void getWifiNetworksList(){
    IntentFilter filter = new IntentFilter();
    filter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
    final WifiManager wifiManager =
            (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);;
    registerReceiver(new BroadcastReceiver(){

        @SuppressLint("UseValueOf") @Override
        public void onReceive(Context context, Intent intent) {
            sb = new StringBuilder();
            scanList = wifiManager.getScanResults();
            sb.append("\n  Number Of Wifi connections :" + " " +scanList.size()+"\n\n");
            for(int i = 0; i < scanList.size(); i++){
                sb.append(new Integer(i+1).toString() + ". ");
                sb.append((scanList.get(i)).toString());
                sb.append("\n\n");
            }

            tv.setText(sb);
        }

    },filter);
    wifiManager.startScan();}
import java.util.List;
导入android.annotation.SuppressLint;
导入android.app.Activity;
导入android.content.BroadcastReceiver;
导入android.content.Context;
导入android.content.Intent;
导入android.content.IntentFilter;
导入android.net.wifi.ScanResult;
导入android.net.wifi.WifiManager;
导入android.os.Bundle;
导入android.widget.TextView;
公共类MainActivity扩展了活动{
私有StringBuilder sb=新StringBuilder();
私家图文电视;
列表扫描列表;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView)findViewById(R.id.txtWifiNetworks);
getWifiNetworksList();
}
私有void getWifiNetworksList(){
IntentFilter=newintentfilter();
filter.addAction(WifiManager.SCAN\u RESULTS\u AVAILABLE\u ACTION);
最终WIFI经理WIFI经理=
(WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);;
registerReceiver(新广播接收器(){
@SuppressLint(“UseValueOf”)@覆盖
公共void onReceive(上下文、意图){
sb=新的StringBuilder();
scanList=wifiManager.getScanResults();
sb.追加(“\n Wifi连接数:”+“+scanList.size()+”\n\n”);
对于(int i=0;i
活动\u main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="hacker.wifi.mywifilist.MainActivity"
    android:id="@+id/main">

    <TextView
        android:id="@+id/txtWifiNetworks"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"/>


</android.support.constraint.ConstraintLayout>

打开设备的位置开关。因为棉花糖是必须的。 确保您拥有这些权限(在测试后,您可能会忽略其中一些权限,我从一个类似的项目中获得了这些权限):



请再次检查。感谢您的帮助,但它仍然是一样的。我在网上尝试了所有关于android studio wifi扫描列表的代码,但直到现在我才看到任何列表。您是否向我推荐有关此问题的任何示例项目?我快疯了。您是否总是试图通过调试来检查列表?您尝试过记录结果吗?我只是想n‘app’。我如何访问日志?没关系,我只是注意到你正在打印结果。对不起,没有其他想法,祝你好运!
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />