Android显示wifi信号强度以及周边信号的代码
jopen
11年前
先把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; } }结果图:
来自:http://blog.csdn.net/deng529828/article/details/10456417