</pre>轉載請註明出處,謝謝!</p><p></p><p><strong>1.首先在Manifext裏聲明權限:</strong></p><p><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'宋體';font-size:9.0pt;"><span style="color:#e8bf6a;"><uses-permission </span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:name=</span><span style="color:#a5c261;">"android.permission.ACCESS_WIFI_STATE" </span><span style="color:#e8bf6a;">/>
</span><span style="color:#e8bf6a;"><uses-permission </span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:name=</span><span style="color:#a5c261;">"android.permission.INTERNET" </span><span style="color:#e8bf6a;">/>
</span><span style="color:#e8bf6a;"><uses-permission </span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:name=</span><span style="color:#a5c261;">"android.permission.ACCESS_NETWORK_STATE" </span><span style="color:#e8bf6a;">/>
</span><span style="color:#e8bf6a;"><uses-permission </span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:name=</span><span style="color:#a5c261;">"android.permission.CHANGE_NETWORK_STATE"</span><span style="color:#e8bf6a;">/>
</span><span style="color:#e8bf6a;"><uses-permission </span><span style="color:#9876aa;">android</span><span style="color:#bababa;">:name=</span><span style="color:#a5c261;">"android.permission.CHANGE_WIFI_STATE"</span><span style="color:#e8bf6a;">/></span>
2.創建一個TextView用來顯示wifi信息:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.edu.tongji.wifi_around.MainActivity"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="New Text" android:id="@+id/textView" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> </RelativeLayout>
3.然後是MianActivity:
package com.edu.tongji.wifi_around; import android.net.wifi.ScanResult; import android.net.wifi.WifiManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import java.util.List; public class MainActivity extends AppCompatActivity { private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView)findViewById(R.id.textView); ScanWifiInfo(); //寫線程 Thread t = new Thread(new Runnable() { @Override public void run() { while(true) { runOnUiThread(new Runnable() { @Override public void run() { ScanWifiInfo(); } }); try{Thread.sleep(500);}catch(InterruptedException e){e.printStackTrace();} } } }); t.start(); } private void ScanWifiInfo(){ WifiManager wifiManager= (WifiManager) getSystemService(WIFI_SERVICE); wifiManager.startScan(); //啓動掃描 StringBuilder scanBuilder= new StringBuilder(); List<ScanResult> scanResults=wifiManager.getScanResults();//搜索到的設備列表 for (ScanResult scanResult : scanResults) { scanBuilder.append("\n設備名:"+scanResult.SSID +"\n信號強度:"+wifiManager.calculateSignalLevel(scanResult.level,1001)+"\n"); } textView.setText(scanBuilder); } }
最後是效果圖:
wifi強度會實時改變
如有問題請在下方評論處留言。