2017-10-14 64 views
-1

我想用android studio顯示Wifi連接列表。我的手機的wifi設置有2個連接,但我的應用程序沒有看到它們。爲什麼wifi連接數量:0?

在此先感謝

當我打開調試應用程序,我看到這樣一句話: 數Wifi連接數:0

那麼,爲什麼它不能看到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();} 

activity_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> 

回答

0

轉動裝置的位置切換。由於棉花糖是必須的。 請確保您有這些權限(你可能會測試後省略其中的一些,我把它從一個類似的項目我做了):

<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" /> 
+0

我嘗試過,但它不工作。 – Will

+0

請再次確認。 –

+0

感謝您的幫助,但它仍然是一樣的。我嘗試了所有有關Android工作室無線掃描列表的代碼,但直到現在我纔看到任何列表。你是否推薦我關於這個問題的任何樣本項目?我要瘋了。 – Will