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

  • 相关阅读:
    sql server分布式事务解决方案 (笔记)
    深入理解Datatable(笔记)
    SQLSERVER 2005 实现文件读写操作
    局部变量、全局变量、堆、堆栈、静态和全局
    分布式事务DISTRIBUTED TRANSACTION
    SQLSEVER2005中找不到存储过程xp_getfiledetails 解决办法
    模式窗口
    理解析构函数的执行过程
    Oracle分页
    DataTable导出到Excel、GSV (转)
  • 原文地址:https://www.cnblogs.com/tt_mc/p/1751444.html
Copyright © 2011-2022 走看看