`
wjlgryx
  • 浏览: 306711 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在Android中扫描wifi热点演示实例教程

 
阅读更多


2011-07-13 08:42

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(0, 0, 0, "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>

4、OK,就这些,允允许下,效果看附件图片,我扫描到我这有2个热点。

分享到:
评论

相关推荐

    android studio wifi 扫描 连接代码

    在Activity中,我们需要实例化`WifiManager`对象,这是Android系统提供的用于管理WiFi的类: ```java WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); ``` **判断WiFi是否开启...

    Android wifi扫描代码源码,实现热点扫描.zip

    在标签"android"的上下文中,这个源码示例是Android开发的一部分,展示了如何利用Android SDK中的API进行WiFi热点扫描。开发者可以学习并理解这段代码,从而在自己的应用中集成类似的功能。 至于文件"G"和"H",它们...

    Android 扫描 wifi 二维码自动连接

    在Android平台上,实现扫描WiFi二维码并自动连接的功能是一项实用的技术,它可以方便用户快速连接到新的无线网络,无需手动输入复杂的密码。以下将详细介绍这个功能的关键知识点: 1. **二维码解析**: - 首先,...

    android 生成wifi热点以及扫描连接wifi

    在Android平台上,生成Wi-Fi热点和扫描连接Wi-Fi是移动设备功能的重要部分,这使得用户可以分享网络连接或连接到其他可用的Wi-Fi网络。本文将深入探讨如何在Android应用中实现这两个功能。 首先,我们要了解Android...

    android7.1打开wifi热点 Demo

    在Android系统中,开启Wi-Fi热点功能是一种常见的网络共享方式,允许其他设备通过Wi-Fi连接到你的手机,共享其移动数据。在Android 7.1版本中,这一功能的实现涉及到了系统的API调用和权限管理。下面我们将深入探讨...

    Android 连接wifi和创建WIFI热点 demo

    在Android平台上,连接WiFi和创建WiFi热点是两个重要的网络功能,尤其对于移动设备而言,它们在日常生活和工作中扮演着至关重要的角色。这个“Android 连接WiFi和创建WIFI热点 demo”应该是一个示例项目,它展示了...

    Android 开机打开wifi热点功能

    Android 开机默认是不会打开wifi热点的,即使上次手动打开了wifi热点,改修改可以保存上次打开热点的状态,实现开机打开wifi热点功能

    Android编程实现wifi扫描及连接的方法

    在 Android 中,WIFI 扫描需要在 android.permission.ACCESS_WIFI_STATE 权限下进行,否则将抛出异常。同时,WIFI 扫描还需要在 android.permission.CHANGE_WIFI_STATE 权限下进行,否则将无法连接 WIFI。 二、 ...

    android 指定wifi热点自动连接

    在Android SDK中,`WifiManager`类提供了对WiFi功能的访问,包括扫描可用网络、连接到特定网络以及管理已知网络。在应用中,你需要获取到`WifiManager`的实例,通常在`onCreate`方法中通过`Context.getSystemService...

    Android 设置Wifi热点、打开与关闭的监听

    本篇文章将深入探讨如何在Android应用中设置WiFi热点、以及如何监听热点的开启和关闭事件。以下是对相关知识点的详细说明: 1. **WiFi热点API**:Android提供了`ConnectivityManager`和`WifiManager`这两个系统服务...

    Android WIFI扫描Demo.zip

    【Android WIFI扫描Demo.zip】是一个压缩包,包含了一个Android应用的源代码示例,这个示例专注于演示如何在Android设备上实现WIFI网络的扫描功能。通过分析这个压缩包的内容,我们可以深入理解Android系统中与WIFI...

    Android wifi 扫描程序

    在Android-wifi-scan-master项目中,通常会包含一个示例应用程序,它演示了如何实现上述功能,包括设置权限、启动扫描、接收结果和显示信息。通过阅读和分析该项目的源代码,可以更深入地理解这些知识点。

    android手机wifi热点通信代码

    在本教程中,我们将深入探讨如何使用Android SDK来创建和使用WiFi热点,以及如何进行设备之间的通信。 首先,我们需要了解Android中的WiFi热点功能。WiFi热点,也称为移动热点或便携式热点,允许Android设备共享其...

    Android WIFI扫描Demo.rar

    通过研究这个`Android WIFI扫描Demo`,开发者可以了解如何在实际应用中实现Wi-Fi扫描功能,以及如何在用户界面展示扫描结果。这对于开发涉及网络连接选择或Wi-Fi热点管理的应用来说是非常有价值的参考。

    Android代码-WIFI扫描Demo.zip

    其中,ACCESS_WIFI_STATE用于读取WiFi状态,CHANGE_WIFI_STATE用于改变WiFi状态,而ACCESS_COARSE_LOCATION则是在Android 6.0及以上版本中,由于扫描WiFi热点可能涉及到位置信息,所以需要此权限。 接下来,我们要...

    Android studio的WiFi模块连接和搜索

    在这个特定的主题中,我们聚焦于Android Studio中的WiFi模块,包括如何连接到WiFi网络以及如何进行WiFi热点搜索。这些功能涉及到Android系统的网络权限管理,这对于构建具有网络功能的应用至关重要。 1. **WiFi连接...

    Android-将Android手机WiFi连接到指定的热点

    本教程将详细解释如何在Android应用中实现这个功能,主要涉及Android的WiFi管理API。 首先,我们要了解Android的WiFi服务。在Android系统中,`WifiManager`类是负责管理WiFi连接的核心组件。它位于`android.net....

    android WIFI 扫描 Demo

    在Android平台上,开发一款WIFI扫描的Demo应用是一项常见的任务,可以帮助用户查看并连接周围的无线网络。本Demo的目的是向开发者展示如何利用Android系统的API来实现这一功能。下面将详细介绍这个Demo涉及的关键...

    Android-Androidwifi列表搜索和wifi热点开关

    本教程将深入探讨Android如何实现WiFi列表的搜索以及WiFi热点的开启和关闭操作,这些都是Android开发中涉及“其它控件”的重要组成部分。 首先,我们要了解Android中的`WifiManager`服务。`WifiManager`是Android...

    扫描二维码添加wifi热点

    在Android中,我们可以使用`WifiManager`类来获取WiFi状态、开启/关闭WiFi、扫描可用网络以及连接指定网络。在iOS中,使用`NEHotspotConfigurationManager`框架可以实现类似的功能,但需要注意iOS的安全策略,连接...

Global site tag (gtag.js) - Google Analytics