当前位置: 代码迷 >> Android >> android展示wifi信号强度以及周边信号(源代码)
  详细解决方案

android展示wifi信号强度以及周边信号(源代码)

热度:410   发布时间:2016-05-01 09:53:09.0
android显示wifi信号强度以及周边信号(源代码)

先把activity_main.xml文件代码贴出来.TextView充满屏幕

<LinearLayout 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=".MainActivity" > <!--         <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:background="@android:color/white" /> -->    <TextView        android:id="@+id/textView1"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:gravity="center"	    android:textColor="@android:color/black"	    android:textSize="25sp" /></LinearLayout>

AndroidMenifest.xml中,加入两行,作用:获取权限

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/><uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>


最后是MainActivity.java中的程序:
package com.example.wifistrength;import java.util.List;import android.net.wifi.ScanResult;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.view.Menu;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity {		TextView tv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                String wserviceName = Context.WIFI_SERVICE;    	WifiManager wm = (WifiManager) getSystemService(wserviceName);     	        WifiInfo info = wm.getConnectionInfo();           int strength = info.getRssi();        int speed = info.getLinkSpeed();          String units = WifiInfo.LINK_SPEED_UNITS;          String ssid = info.getSSID();                  tv  = (TextView) findViewById(R.id.textView1);        List<ScanResult> results = wm.getScanResults();        String otherwifi = "The existing network is: \n\n";                for (ScanResult result : results) {              otherwifi += result.SSID  + ":" + result.level + "\n";        }                String text = "We are connecting to " + ssid + " at " + String.valueOf(speed) + "   " + String.valueOf(units) + ". Strength : " + strength;        otherwifi += "\n\n";        otherwifi += text;                tv.setText(otherwifi);            }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    }
结果图:




1楼Wpilot3天前 10:28
  相关解决方案