在Android中扫描WiFi热点演示实例教程
在Android中扫描WiFi热点演示实例教程
1、首先新建了布局模板XML文件vifi.xml,代码很简单,如下:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:id="@+id/wifi"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/hello"
- />
- </LinearLayout>
- package com.archermind.wifi;
- import java.util.List;
- import android.app.Activity;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.content.IntentFilter;
- import android.net.wifi.ScanResult;
- import android.net.wifi.WifiManager;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.widget.TextView;
- public class MainActivity extends Activity {
- private TextView wifiText;
- private WifiManager wifiManager;
- private StringBuilder sb;
- private List<ScanResult> wifiList;
- private WifiReceiver wifiReceiver;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- sb = new StringBuilder();
- wifiText = (TextView) findViewById(R.id.wifi);
- wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
- wifiReceiver = new WifiReceiver();
- registerReceiver(wifiReceiver, new IntentFilter(
- WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
- wifiManager.startScan();
- wifiText.setText("\nStarting Scan\n");
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- menu.add(0, 0, 0, "Refresh");
- return super.onCreateOptionsMenu(menu);
- }
- @Override
- public boolean onMenuItemSelected(int featureId, MenuItem item) {
- wifiManager.startScan();
- wifiText.setText("Starting Scan");
- return super.onMenuItemSelected(featureId, item);
- }
- @Override
- protected void onPause() {
- unregisterReceiver(wifiReceiver);
- super.onPause();
- }
- @Override
- protected void onResume() {
- registerReceiver(wifiReceiver, new IntentFilter(
- WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
- super.onResume();
- }
- private final class WifiReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- sb = new StringBuilder();
- wifiList = wifiManager.getScanResults();
- for (int i = 0; i < wifiList.size(); i++) {
- sb.append(new Integer(i + 1).toString() + ".");
- sb.append((wifiList.get(i)).toString()).append("\n\n");
- }
- wifiText.setText(sb.toString());
- }
- }
- }
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
- <uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"></uses-permission>
- <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
- <uses-permission android:name="android.permission.INTERNET"></uses-permission>
- <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
- <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"></uses-permission>
评论暂时关闭