zoukankan      html  css  js  c++  java
  • 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>
    2、写java代码,新建个Activity,代码如下: package com.eoeandroid.demo.testcode;



    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 WifiTester extends Activity {

            TextView mainText;

            WifiManager mainWifi;

            WifiReceiver receiverWifi;

            List
    <ScanResult> wifiList;

            StringBuilder sb 
    = new StringBuilder();



            
    public void onCreate(Bundle savedInstanceState) {

                    
    super.onCreate(savedInstanceState);

                    setContentView(R.layout.vifi);

                    setTitle(
    "eoe教程: Wifi Test.  -by:IceskYsl");

                    mainText 
    = (TextView) findViewById(R.id.wifi);

                    mainWifi 
    = (WifiManager) getSystemService(Context.WIFI_SERVICE);



                    receiverWifi 
    = new WifiReceiver();

                    registerReceiver(receiverWifi, 
    new IntentFilter(

                                    WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));

                    mainWifi.startScan();

                    mainText.setText(
    "\nStarting Scan...\n");

            }



            
    public boolean onCreateOptionsMenu(Menu menu) {

                    menu.add(
    000"Refresh");

                    
    return super.onCreateOptionsMenu(menu);

            }



            
    public boolean onMenuItemSelected(int featureId, MenuItem item) {

                    mainWifi.startScan();

                    mainText.setText(
    "Starting Scan");

                    
    return super.onMenuItemSelected(featureId, item);

            }



            
    protected void onPause() {

                    unregisterReceiver(receiverWifi);

                    
    super.onPause();

            }



            
    protected void onResume() {

                    registerReceiver(receiverWifi, 
    new IntentFilter(

                                    WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));

                    
    super.onResume();

            }



            
    class WifiReceiver extends BroadcastReceiver {



                    
    public void onReceive(Context c, Intent intent) {

                            sb 
    = new StringBuilder();

                            wifiList 
    = mainWifi.getScanResults();

                            
    for (int i = 0; i < wifiList.size(); i++) {

                                    sb.append(
    new Integer(i + 1).toString() + ".");

                                    sb.append((wifiList.get(i)).toString());

                                    sb.append(
    "\n\n");

                            }

                            mainText.setText(sb);

                    }

            }

    }
    3、申请相关权限,代码如下: <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>

    转载:http://www.eoeandroid.com/viewthread.php?tid=386

  • 相关阅读:
    HDU3336 Count the string —— KMP next数组
    CodeForces
    51Nod 1627 瞬间移动 —— 组合数学
    51Nod 1158 全是1的最大子矩阵 —— 预处理 + 暴力枚举 or 单调栈
    51Nod 1225 余数之和 —— 分区枚举
    51Nod 1084 矩阵取数问题 V2 —— 最小费用最大流 or 多线程DP
    51Nod 机器人走方格 V3 —— 卡特兰数、Lucas定理
    51Nod XOR key —— 区间最大异或值 可持久化字典树
    HDU4825 Xor Sum —— Trie树
    51Nod 1515 明辨是非 —— 并查集 + 启发式合并
  • 原文地址:https://www.cnblogs.com/tt_mc/p/1751444.html
Copyright © 2011-2022 走看看