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个热点。
相关推荐
在Activity中,我们需要实例化`WifiManager`对象,这是Android系统提供的用于管理WiFi的类: ```java WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); ``` **判断WiFi是否开启...
在标签"android"的上下文中,这个源码示例是Android开发的一部分,展示了如何利用Android SDK中的API进行WiFi热点扫描。开发者可以学习并理解这段代码,从而在自己的应用中集成类似的功能。 至于文件"G"和"H",它们...
在Android平台上,实现扫描WiFi二维码并自动连接的功能是一项实用的技术,它可以方便用户快速连接到新的无线网络,无需手动输入复杂的密码。以下将详细介绍这个功能的关键知识点: 1. **二维码解析**: - 首先,...
在Android系统中,连接Wi-Fi和创建Wi-Fi热点是两个重要的功能,对于移动设备的网络共享和连接至关重要。本文将详细讲解如何实现这两个功能。 首先,我们来看如何连接到一个已知的Wi-Fi网络。在Android中,这通常...
在Android平台上,生成Wi-Fi热点和扫描连接Wi-Fi是移动设备功能的重要部分,这使得用户可以分享网络连接或连接到其他可用的Wi-Fi网络。本文将深入探讨如何在Android应用中实现这两个功能。 首先,我们要了解Android...
在Android系统中,开启Wi-Fi热点功能是一种常见的网络共享方式,允许其他设备通过Wi-Fi连接到你的手机,共享其移动数据。在Android 7.1版本中,这一功能的实现涉及到了系统的API调用和权限管理。下面我们将深入探讨...
Android 开机默认是不会打开wifi热点的,即使上次手动打开了wifi热点,改修改可以保存上次打开热点的状态,实现开机打开wifi热点功能
在Android平台上,连接WiFi和创建WiFi热点是两个重要的网络功能,尤其对于移动设备而言,它们在日常生活和工作中扮演着至关重要的角色。这个“Android 连接WiFi和创建WIFI热点 demo”应该是一个示例项目,它展示了...
在 Android 中,WIFI 扫描需要在 android.permission.ACCESS_WIFI_STATE 权限下进行,否则将抛出异常。同时,WIFI 扫描还需要在 android.permission.CHANGE_WIFI_STATE 权限下进行,否则将无法连接 WIFI。 二、 ...
在Android SDK中,`WifiManager`类提供了对WiFi功能的访问,包括扫描可用网络、连接到特定网络以及管理已知网络。在应用中,你需要获取到`WifiManager`的实例,通常在`onCreate`方法中通过`Context.getSystemService...
本篇文章将深入探讨如何在Android应用中设置WiFi热点、以及如何监听热点的开启和关闭事件。以下是对相关知识点的详细说明: 1. **WiFi热点API**:Android提供了`ConnectivityManager`和`WifiManager`这两个系统服务...
【Android WIFI扫描Demo.zip】是一个压缩包,包含了一个Android应用的源代码示例,这个示例专注于演示如何在Android设备上实现WIFI网络的扫描功能。通过分析这个压缩包的内容,我们可以深入理解Android系统中与WIFI...
在Android中,开启和管理WiFi热点需要特定的权限。在`AndroidManifest.xml`文件中,你需要添加以下权限: - `<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />` - `<uses-permission ...
在Android-wifi-scan-master项目中,通常会包含一个示例应用程序,它演示了如何实现上述功能,包括设置权限、启动扫描、接收结果和显示信息。通过阅读和分析该项目的源代码,可以更深入地理解这些知识点。
在本教程中,我们将深入探讨如何使用Android SDK来创建和使用WiFi热点,以及如何进行设备之间的通信。 首先,我们需要了解Android中的WiFi热点功能。WiFi热点,也称为移动热点或便携式热点,允许Android设备共享其...
通过研究这个`Android WIFI扫描Demo`,开发者可以了解如何在实际应用中实现Wi-Fi扫描功能,以及如何在用户界面展示扫描结果。这对于开发涉及网络连接选择或Wi-Fi热点管理的应用来说是非常有价值的参考。
其中,ACCESS_WIFI_STATE用于读取WiFi状态,CHANGE_WIFI_STATE用于改变WiFi状态,而ACCESS_COARSE_LOCATION则是在Android 6.0及以上版本中,由于扫描WiFi热点可能涉及到位置信息,所以需要此权限。 接下来,我们要...
在这个特定的主题中,我们聚焦于Android Studio中的WiFi模块,包括如何连接到WiFi网络以及如何进行WiFi热点搜索。这些功能涉及到Android系统的网络权限管理,这对于构建具有网络功能的应用至关重要。 1. **WiFi连接...
本教程将详细解释如何在Android应用中实现这个功能,主要涉及Android的WiFi管理API。 首先,我们要了解Android的WiFi服务。在Android系统中,`WifiManager`类是负责管理WiFi连接的核心组件。它位于`android.net....
在Android平台上,开发一款WIFI扫描的Demo应用是一项常见的任务,可以帮助用户查看并连接周围的无线网络。本Demo的目的是向开发者展示如何利用Android系统的API来实现这一功能。下面将详细介绍这个Demo涉及的关键...