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中扫描wifi热点演练实例教程
热度:73 发布时间:2016-05-01 13:51:04.0
2011-07-13 08:42
相关解决方案
- android 读取byte[]中的元素解决方案
- android 标题栏兑现方式
- android 中Activity向BroadcastReceiver发送数据,该怎么解决
- Android 4.0 为什么模拟器老是提示小弟我谷歌拼音输入法已停止
- android:getSharedPreferences() 这是哪个类的方法解决思路
- android 怎么判断一个程序是否联网
- android 大量数据按周分组,该如何解决
- android RadioButton如何设置默认选中
- ksoap2-android-这个包,连接webService怎么设置超时
- android 怎么重新设置锚点
- 请教j2me wifi 通过socket连接pc服务器,为何无法发送消息到pc端
- android UI界面设计解决方案
- android 图片对象获取的有关问题
- android 怎么调用淘宝支付宝接口
- Android 沿袭InputMethodService自定义输入法
- android 关于服务连接的疑义
- android 两个activity如何通信
- android 怎么实现对view的放大和缩小
- android 教程解决方法
- android ID,该如何处理
- 准备复习2-3个月,看java+android,请问有经验者,怎么看效果最好》
- android UI线程与AsyncTask的有关问题
- android(java)中的java.net能不能和c#的system.net.sockets进行tcp通信,该如何解决
- android ListView 中的onItemClick Intent 没法跳转
- android(java) 中文乱码的有关问题
- c#c++,android,ios(iphone),php,java视屏课程 散分
- android Post文件到ASP.NET的有关问题,能收到参数收不到文件
- RIM 替 Android 开发者提供免费的 PlayBook!2月13日前
- android 动态设立控件高度
- Android test project 编译方法