转载请注明出处,谢谢!

1.首先在Manifext里声明权限:

android:name="android.permission.ACCESS_WIFI_STATE" />android:name="android.permission.INTERNET" />android:name="android.permission.ACCESS_NETWORK_STATE" />android:name="android.permission.CHANGE_NETWORK_STATE"/>android:name="android.permission.CHANGE_WIFI_STATE"/>

2.创建一个TextView用来显示wifi信息:


<?xml version="1.0" encoding="utf-8"?>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">            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" />

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 scanResults=wifiManager.getScanResults();//搜索到的设备列表        for (ScanResult scanResult : scanResults) {            scanBuilder.append("\n设备名:"+scanResult.SSID                    +"\n信号强度:"+wifiManager.calculateSignalLevel(scanResult.level,1001)+"\n");        }        textView.setText(scanBuilder)}}


最后是效果图:


wifi强度会实时改变


如有问题请在下方评论处留言。

更多相关文章

  1. Android应用程序进程启动过程(后篇)
  2. android studio 55线程更新UI handler
  3. Android线程模型
  4. android银行卡匹配、详情展开动画、仿爱奇艺视频拖拽、扫码识别
  5. [Android(安卓)实例教程] Android,谁动了我的内存
  6. Android跨进程通信IPC之7——Binder相关结构体简介
  7. android跨进程通信IPC之12——Binder的补充
  8. Android(安卓)项目优化(七):阿里巴巴Android开发手册整理总结
  9. Android(安卓)项目优化(七):阿里巴巴Android开发手册整理总结

随机推荐

  1. 通用分页存储过程,源码共享,大家共同完善
  2. 一个SQL语句获得某人参与的帖子及在该帖
  3. 如何远程连接SQL Server数据库图文教程
  4. sql2000各个版本区别总结第1/3页
  5. SQL查询连续号码段的巧妙解法
  6. sql server中千万数量级分页存储过程代码
  7. 数据库分页存储过程代码
  8. sql基本函数大全
  9. SQL查询语句精华使用简要第1/2页
  10. 简单的SQL Server备份脚本代码