First put the Activity_main.xml file code out. TextView Full Screen
?
12345678910111213141516171819202122232425 |
<
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, add two lines, function: Get permission
?
12 |
< uses-permission android:name = "android.permission.ACCESS_WIFI_STATE" /> < uses-permission android:name = "android.permission.CHANGE_NETWORK_STATE" /> |
Finally, the program in Mainactivity.java:
?
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
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
;
}
}
|
Result diagram:
Android displays code for WiFi signal strength and peripheral signals