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个热点。

更多相关文章

  1. android studio 格式化代码时注解不换行
  2. android 使用Intent传递对象 Serializable 或者 Parcelabel 《第
  3. material design 的android开源代码整理
  4. Android Studio代码混淆,开启Proguard,稍微总结一下
  5. Android百分比布局支持库
  6. 探讨相对布局的重要特性和属性
  7. android布局参照示例_约束布局Android示例–第2部分

随机推荐

  1. List of Android(安卓)MIME types and Ur
  2. myAndroid(Struts2+Sitemesh+Freemarker)
  3. Android(安卓)FFmpeg
  4. Arm Development Studio 社区版
  5. 数据库查询多少条数据
  6. android问题:保存文件后文件内容为空
  7. Error:org.gradle.api.internal.tasks.De
  8. Android客户端WebService访问接口(Ksoap2A
  9. OCR(opencv vs tesseract)
  10. android 消费者和生产者的队列处理模型