`

android > WiFi > 扫描附近WIFI

 
阅读更多

Activity 

 

package wifi3.com;

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 Wifi3Activity extends Activity {
    /** Called when the activity is first created. */
	private TextView wifiText;  
    private WifiManager wifiManager;  
    private StringBuilder sb;  
    private List<ScanResult> wifiList;  
    private WifiReceiver wifiReceiver; 
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        sb = new StringBuilder();  
        wifiText = (TextView) findViewById(R.id.wifi);  
        wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);  
        wifiReceiver = new WifiReceiver();  
        registerReceiver(wifiReceiver, new IntentFilter(  
                WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));  
        wifiManager.startScan();  
        wifiText.setText("\nStarting Scan\n");
        
        
    }
    
    @Override  
    public boolean onCreateOptionsMenu(Menu menu) {  
        menu.add(0, 0, 0, "Refresh");  
        return super.onCreateOptionsMenu(menu);  
    }
    
    @Override  
    public boolean onMenuItemSelected(int featureId, MenuItem item) {  
        wifiManager.startScan();  
        wifiText.setText("Starting Scan");  
        return super.onMenuItemSelected(featureId, item);  
  
    }  
  
    @Override  
    protected void onPause() {  
        unregisterReceiver(wifiReceiver);  
        super.onPause();  
    }  
      
    @Override  
    protected void onResume() {  
        registerReceiver(wifiReceiver, new IntentFilter(  
                WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));  
        super.onResume();  
    }  
      
    private final class WifiReceiver extends BroadcastReceiver {  
        @Override  
        public void onReceive(Context context, Intent intent) {  
            sb = new StringBuilder();  
            wifiList = wifiManager.getScanResults();  
            for (int i = 0; i < wifiList.size(); i++) {  
                sb.append(new Integer(i + 1).toString() + ".");  
                sb.append((wifiList.get(i)).toString()).append("\n\n");  
            }  
            wifiText.setText(sb.toString());  
        }  
    } 
    
    
}
 

布局文件

 

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<LinearLayout 
    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>
</ScrollView>

 

Manifest 

 

 

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="wifi3.com"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".Wifi3Activity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
	<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> 
</manifest>
 

 

其中 信号强度  调用 level 参数

 

< 70 强

< 80 较强

< 90 较弱

<100 弱

 

 

分享到:
评论

相关推荐

    android studio wifi 扫描 连接代码

    在Android平台上,开发一款应用程序来实现WiFi扫描和连接功能,主要涉及到Android Studio的使用以及Android系统的WiFi管理API。本文将详细讲解如何通过Android Studio编写代码来实现这一功能,包括检查WiFi状态、...

    Android 扫描 wifi 二维码自动连接

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

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

    Android 编程实现 WIFI 扫描及连接的方法 Android 编程实现 WIFI 扫描及连接的方法是 Android 应用程序中的一项重要功能,涉及到 Android 网络操作扫描、查找、连接、线程等相关操作技巧。下面将对 Android 编程...

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

    这份"Android wifi扫描代码源码,实现热点扫描.zip"压缩包包含了一个名为"WifiDemo"的示例项目,可能还包含了相关的类库或资源文件(如"G"和"H")。以下是对这个主题的详细讲解: 首先,我们需要理解Android的WiFi...

    androidwifi操作扫描和连接

    本教程将深入探讨如何在Android中进行WiFi扫描和连接,以帮助开发者更好地理解和实现这些功能。 首先,我们需要理解Android的WiFi服务。Android提供了一个名为`WifiManager`的系统服务,它允许应用进行WiFi相关的...

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

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

    Android加载附近WiFi列表,并自动更新

    这个过程涉及到Android系统的网络管理服务、BroadcastReceiver、ContentResolver以及对WiFi扫描结果的处理。以下是对这个主题的详细阐述: 一、Android WiFi API Android提供了一个名为`WifiManager`的系统服务,它...

    Android WIFI扫描Demo.zip

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

    Android wifi 扫描程序

    &lt;uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /&gt; &lt;uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /&gt; &lt;uses-permission android:name="android.permission.ACCESS...

    android WIFI 扫描 Demo

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

    Unity Android Wifi扫描连接

    在Unity引擎中开发Android应用程序,实现WiFi扫描和连接功能是一项技术密集型任务,涉及到多个层次的知识点。以下是对这些知识点的详细阐述: 1. **Unity跨平台开发**:Unity允许开发者使用C#语言创建游戏和应用,...

    Android WIFI扫描Demo.rar

    【Android WIFI扫描Demo】是一个Android开发的示例项目,它主要展示了如何在Android设备上进行Wi-Fi网络的扫描和管理。这个源码资源是为Java开发者准备的学习材料,旨在帮助他们理解和实现Android平台上的Wi-Fi扫描...

    Android代码-WIFI扫描Demo.zip

    在Android平台上,开发一款WIFI扫描的Demo应用是一项常见的任务,它可以帮助用户获取周围可用的WiFi网络信息。本文将深入探讨如何使用Android SDK中的相关API实现这一功能,并结合"Android代码-WIFI扫描Demo.zip...

    Android扫描wifi二维码自动连接

    在Android平台上,实现“扫描WiFi二维码自动连接”功能涉及到一系列的技术点,包括二维码扫描、WiFi管理API的使用、权限控制等。以下是对这些关键知识点的详细解析: **1. 二维码扫描** Android系统中,虽然没有...

    android WIFI DEMO(扫描附近WIFI强度)

    在Android平台上,开发一款能扫描并显示附近Wi-Fi信号强度的应用是常见的需求。"android WIFI DEMO"就是这样一个示例项目,它可以帮助开发者理解和实践如何在Android应用中集成Wi-Fi扫描功能。下面将详细介绍该DEMO...

    Android获取Wifi列表

    &lt;uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /&gt; &lt;uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /&gt; ``` 这两个权限分别用于读取Wi-Fi状态和改变Wi-Fi状态。...

    android wifi连接与断开

    3. **按钮刷新**:在界面上设置一个刷新按钮,点击时调用`wifiManager.startScan()`重新扫描WiFi热点,并更新UI展示最新的扫描结果。 4. **记住密码**:如果用户选择记住某个网络的密码,我们可以将其存储在...

    Android studio的WiFi模块连接和搜索

    - **ACCESS_FINE_LOCATION**:为了扫描WiFi网络,应用需要请求此权限,因为扫描WiFi网络涉及到位置信息。 - **CHANGE_WIFI_STATE**:连接或断开WiFi网络,以及开启/关闭热点,需要这个权限。 - **ACCESS_WIFI_...

    Android 连接wifi和创建WIFI热点 demo

    &lt;uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /&gt; ``` 2. **WiFiManager接口**:Android系统提供`WifiManager`类,它是管理WiFi连接的主要接口。通过`Context.getSystemService(Context....

    基于AndroidStudio开发的实现wifi和蓝牙的扫描功能

    在Android平台上,开发一款能够实现Wi-Fi和蓝牙扫描功能的应用是一项常见的任务,这对于构建设备连接、数据传输或者网络管理类应用至关重要。在这个基于Android Studio的项目中,开发者已经实现了这样的功能,用户...

Global site tag (gtag.js) - Google Analytics